ASP 下载文件源码

ljia168 2009-06-08 08:12:36
这里有一段别人的代码,可是我应用起来总出错,不知为何,有哪位大侠可否给小妹提供个更好的文件下载代码呢,谢谢
Sometimes you want a user to download a binary file instead of opening it inside the browser window.
There are several different ways to accomplish this.
Generically:
<%
FileName = "Document.Doc"
Response.ContentType = "application/octet-stream"
Response.AddHeader "content-disposition", "attachment; filename =" & filename
Set Stream = Server.CreateObject("ADODB.Stream")
Stream.Open
Stream.LoadFromFile Server.MapPath(Filename)
Conents = Stream.ReadText
Response.BinaryWrite Contents
Stream.Close
Set Stream = Nothing
%>

If you know the file type that you would like the user to download, try:
<%
Filename = "document.doc"
Response.ContentType = "application/vnd.ms-word"
Response.AddHeader "content-disposition", "attachment; filename=" & filename
%>
Other Content Types:
vnd.ms-excel - For Excel
vnd.ms-powerpoint - For PowerPoint
vnd.ms-project - For Microsoft Project
pdf - For Adobe Acrobat Documents
rtf - For Rick Text Documents
vnd.lotus-wordpro - For WordPro
vnd.lotus-1-2-3 - For Lotus 1-2-3
vnd.visio - For Visio
jpeg - for JPG Image File
gif - for GIF Image File
png - for PNG Image File
...全文
87 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
乞丐921 2010-04-09
  • 打赏
  • 举报
回复
<%
dim fs7,strName,Stream,Conents
set fs7=Server.CreateObject("Scripting.FileSystemObject")
strName="c:\\1.txt"
FileName = fs7.getfilename(strName)
Response.ContentType = "application/octet-stream"
Response.AddHeader "content-disposition", "attachment; filename =" & Filename
Set Stream = Server.CreateObject("ADODB.Stream")
Stream.Mode = 3
Stream.type=1
Stream.Open
Stream.LoadFromFile strName
Conents = Stream.Read
Stream.Close
Set Stream = Nothing
set fs7=nothing
response.BinaryWrite(Conents)
Response.Flush
response.End()

%>
Henson 2010-04-07
  • 打赏
  • 举报
回复
好像就是这个readtext有问题,去掉这一行后,不能下载指定地址的文件,而是下载网页,怎么回事?
go786 2009-06-10
  • 打赏
  • 举报
回复
我用过的代码 asp的
<%   
Dim Stream
Dim Contents
Dim FileName
Dim FileExt
Const adTypeBinary = 1


FileName = "1.jpg"
if FileName = "" Then
Response.Write "无效文件名."
Response.End
End if
'取得文件名
FileSaveName = Mid(FileName, InStrRev(FileName, "/") + 1)
' 下面是不希望下载的文件
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
Response.AddHeader "content-disposition", "attachment; filename="&FileSaveName
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
%>
ljia168 2009-06-09
  • 打赏
  • 举报
回复
是啊,正是如此
go786 2009-06-09
  • 打赏
  • 举报
回复
点击链接下载文件吗?你没说清楚 我电脑有个文件就行
linlusheng 2009-06-08
  • 打赏
  • 举报
回复
http://search.download.csdn.net/search/%E6%96%87%E4%BB%B6%E4%B8%8B%E8%BD%BD

28,406

社区成员

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

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