如何在ASP中下载文件
如何下载呀? 问题点数:20、回复次数:3Top
1 楼potter2002(自由鸟)回复于 2006-05-03 20:29:48 得分 0
都不知道你问什么?Top
2 楼heroooooo(学习.NET)回复于 2006-05-03 21:53:11 得分 0
是楼主问得不清楚了..Top
3 楼wubin264(学,然后发困)回复于 2006-05-03 23:10:17 得分 0
<%
Function GetFileName(longname)'/folder1/folder2/file.asp=>file.asp
while instr(longname,"/")
longname = right(longname,len(longname)-1)
wend
GetFileName = longname
End Function
Dim Stream
Dim Contents
Dim FileName
Dim TrueFileName
Dim FileExt
Const adTypeBinary = 1
FileName = Request("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
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
Response.ContentType = "image/*" '对图像文件不出现下载对话框
else
Response.ContentType = "application/ms-download"
end if
Response.AddHeader "content-disposition", "attachment; filename=" & GetFileName(Request.QueryString("FileName"))
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
Stream.LoadFromFile Server.MapPath(Request.QueryString("FileName"))
While Not Stream.EOS
Response.BinaryWrite Stream.Read() '分64块下载
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
%>
保存为:fileDownload.asp
使用:fileDownload.asp?FileName=files/test.rar
Top




