当链接指向一个Word文件时,如何让浏览器直接下载而不是打开?

lanechng 2004-04-26 04:04:35
当链接指向一个Word文件时,如何让浏览器直接下载而不是打开?
比如电子邮件的附件中有打开和下载的选项,是怎么实现的?
...全文
336 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
学习,好像可以设定contenttype就成吧
歪歪 2004-04-28
  • 打赏
  • 举报
回复
别人的,借你

<%
Dim Stream
Dim Contents
Dim FileName
Dim FileExt
Const adTypeBinary = 1
FileName = Request.QueryString("FileName")
if FileName = "" Then
Response.Write "无效文件名."
Response.End
End if
' 下面是不希望下载的文件
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
Select Case UCase(FileExt)
Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
Response.Write "受保护文件,不能下载."
Response.End
End Select
' 下载这个文件
Response.Clear
Response.ContentType = "application/octet-stream"
Response.AddHeader "content-disposition", "attachment; filename=" & FileName
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
Stream.LoadFromFile Server.MapPath(FileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
%>
使用:Download.asp?FileName=/Files/MY.doc
把你的DOC文件放到根目录Files下,你也可以放到其它地方了。

如:
<A HREF="Download.asp?FileName=/Files/MY.doc">点击下载WORD文档</A>
lanechng 2004-04-28
  • 打赏
  • 举报
回复
继续啊!
ttt2 2004-04-26
  • 打赏
  • 举报
回复
<%
response.buffer=true
%>
<!-- #include file="../conn.asp" -->
<!-- #include file="../bl.asp" -->
<!-- #include file="../check.asp" -->
<%
adTypeBinary=1
id=request.querystring("id")
set rs=server.createobject("adodb.recordset")
rs.open "select * from oa_gw where id="&id&" and gwzt<>0",cn,1,3
if not rs.eof then
filename=rs("filename")
'response.write Server.MapPath("/upload/updoc/"&FileName)
Response.Clear
Response.ContentType = "application/ms-download"
'Response.ContentType = "application/octet-stream"
Response.AddHeader "content-disposition", "attachment; filename=" & filename

Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
Stream.LoadFromFile Server.MapPath("/upload/updoc/"&FileName)

While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush


Response.End



end if
%>
lanechng 2004-04-26
  • 打赏
  • 举报
回复
自己顶啊!哭!!

28,404

社区成员

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

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