想实现点击链接就直接下载这个链接所指向的文件,怎么实现?

xingzi0077 2005-11-03 01:24:17
<a href="test1.doc">下载</a>
页面上点击链接时,就会在当前页面上打开这个文件,我希望点击链接就直接弹出保存的对话框,请文该如何实现?
...全文
774 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
navis 2005-11-24
  • 打赏
  • 举报
回复
在服务器端将文件用流来读取,然后输出一个header ,就可以实现下载目的,需要服务器端脚本程序,如asp,jsp,php
fantiny 2005-11-03
  • 打赏
  • 举报
回复
<%@language=VBscript%>
<%
Const ForReading=1
Const TristateTrue=-1
Const FILE_TRANSFER_SIZE=16384
Response.Buffer = True
Function TransferFile(path, mimeType, filename)
Dim objFileSystem, objFile, objStream
Dim char
Dim sent
send=0
TransferFile = True
Set objFileSystem = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFileSystem.GetFile(Path)
Set objStream = objFile.OpenAsTextStream(ForReading, TristateTrue)
Response.AddHeader "content-type", mimeType
response.AddHeader "Content-Disposition","attachment;filename=" & filename
Response.AddHeader "content-length", objFile.Size
Do While Not objStream.AtEndOfStream
char = objStream.Read(1)
Response.BinaryWrite(char)
sent = sent + 1
If (sent MOD FILE_TRANSFER_SIZE) = 0 Then
Response.Flush
If Not Response.IsClientConnected Then
TransferFile = False
Exit Do
End If
End If
Loop
Response.Flush
If Not Response.IsClientConnected Then TransferFile = False
objStream.Close
Set objStream = Nothing
Set objFileSystem = Nothing
End Function
Dim path, mimeType, sucess,downfilename
downfilename=request("filename")
path = Server.MapPath(downfilename)
mimeType="text/plain"
sucess = TransferFile(path, mimeType,downfilename)
Response.End
%>
xingzi0077 2005-11-03
  • 打赏
  • 举报
回复
压成压缩文件是肯定能够下载的,但是这样子就给别人的上传照成了麻烦,上传之前都得压缩一下,还是希望能够不压缩就下载
梅雪香 2005-11-03
  • 打赏
  • 举报
回复
a href="test1.doc">下载</a>
压成rar吧,如果直接写是会打开的。
要不可以用输出流来下载吧,我不太懂这个

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧