如何实现链接的文件点击直接下载

yball 2003-09-24 01:34:32
asp里如何实现链接的文件点击直接下载,而不是打开文件
...全文
367 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yball 2003-09-24
  • 打赏
  • 举报
回复
好了。谢谢。结帖
fuyungril 2003-09-24
  • 打赏
  • 举报
回复
把你要连接的文件先压缩,用英文的名字,再放到网站上,这样你的文件就可以直接实现点击“文件”直接下载(弹出保存对话框),而不要用ie打开
xanewong111 2003-09-24
  • 打赏
  • 举报
回复
那就用我给你的代码就行了~~~~~~~~~~绝对好用,我自己都在用,:)
yball 2003-09-24
  • 打赏
  • 举报
回复
我要链接的文件点击直接下载(弹出保存对话框),而不要用ie打开
zhanbairu 2003-09-24
  • 打赏
  • 举报
回复
up
通常解决办法是把.html,.doc压缩再放到网站上的
xanewong111 2003-09-24
  • 打赏
  • 举报
回复
asp里如何实现链接的文件点击直接下载,而不是打开文件
-----------------------------------------------------------------
这是你的第问题,怎么你又要打开?你是到底要下载还是打开?下载就用我给你的代码,打开什么也不用改,直接就是打开的,郁闷~~~
coffee_cn 2003-09-24
  • 打赏
  • 举报
回复
<%
Response.Buffer = true
Response.Clear

dim url
Dim fso,fl,flsize
dim Dname
Dim objStream,ContentType,flName,isre,url1
'*********************************************调用时传入的下载文件名
Dname=trim(request("n"))
'******************************************************************
If Dname<>"" Then
'******************************下载文件存放的服务端目录
url=server.MapPath("files")&"\"&Dname
'***************************************************
End If

Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set fl=fso.getfile(url)
flsize=fl.size
flName=fl.name
Set fl=Nothing
Set fso=Nothing

Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile url



ContentType = "application/zip" '关键


Response.AddHeader "Content-Disposition", "attachment; filename=" & flName
Response.AddHeader "Content-Length", flsize

Response.Charset = "UTF-8"
Response.ContentType = ContentType

Response.BinaryWrite objStream.Read
Response.Flush
response.Clear()
objStream.Close
Set objStream = Nothing
'*************************************
%>
yball 2003-09-24
  • 打赏
  • 举报
回复
我用<a ..></a>连gif,txt文件也用IE打开,而不是下载
xanewong111 2003-09-24
  • 打赏
  • 举报
回复
<%
Response.Buffer = true
Response.Clear

dim url
Dim fso,fl,flsize
dim Dname
Dim objStream,ContentType,flName,isre,url1
'*********************************************调用时传入的下载文件名
Dname=trim(Request.QueryString("Dname"))
'******************************************************************
If Dname<>"" Then
'******************************下载文件存放的服务端目录
url=server.MapPath(Dname)
'***************************************************
End If

Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set fl=fso.getfile(url)
flsize=fl.size
flName=fl.name
Set fl=Nothing
Set fso=Nothing
%>
<%
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile url


Select Case lcase(Right(flName, 4))
Case ".asf"
ContentType = "video/x-ms-asf"
Case ".avi"
ContentType = "video/avi"
Case ".doc"
ContentType = "application/msword"
Case ".zip"
ContentType = "application/zip"
Case ".xls"
ContentType = "application/vnd.ms-excel"
Case ".gif"
ContentType = "image/gif"
Case ".jpg", "jpeg"
ContentType = "image/jpeg"
Case ".wav"
ContentType = "audio/wav"
Case ".mp3"
ContentType = "audio/mpeg3"
Case ".mpg", "mpeg"
ContentType = "video/mpeg"
Case ".rtf"
ContentType = "application/rtf"
Case ".htm", "html"
ContentType = "text/html"
Case ".txt"
ContentType = "text/plain"
Case Else
ContentType = "application/octet-stream"
End Select



Response.AddHeader "Content-Disposition", "attachment; filename=" & flName
Response.AddHeader "Content-Length", flsize

Response.Charset = "UTF-8"
Response.ContentType = ContentType

Response.BinaryWrite objStream.Read
Response.Flush
response.Clear()
objStream.Close
Set objStream = Nothing
%>
不老书生 2003-09-24
  • 打赏
  • 举报
回复
doc,htm文件点击是打开的!

只有save as 才是下载!

28,404

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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