ASP 直接下载文件的函数
By
admin
at 2007-10-19 • 0人收藏 • 1334人看过
ASP 直接下载文件的函数
以下是引用片段:
<%
'--------------------------------------直接下载文件
Function downloadFile(strFile)
'strFile = 文件相对路径
' make sure you are on the latest MDAC version for this to work
' get full path of specified file
if instr(strfile,":") = 0 then
strFilename = server.MapPath(strFile)
else
strfilename = strfile
end if
' clear the buffer
Response.Buffer = True
Response.Clear
' create stream
Set s = Server.CreateObject("ADODB.Stream")
s.Open
' Set as binary
s.Type = 1
' load in the file
on error resume next
' check the file exists
Set fso = Server.CreateObject("Scripting.FileSystemObject")
if not fso.FileExists(strFilename) then
Response.Write("<h1>Error:</h1>"&strFilename&" does not exists!<p>")
Response.End
end if
' get length of file
Set f = fso.GetFile(strFilename)
intFilelength = f.size
s.LoadFromFile(strFilename)
if err then
Response.Write("<h1>Error: </h1>Unknown Error!<p>")
Response.End
end if
' send the headers to the users Browse
Response.AddHeader "Content-Disposition","attachment; filename="&f.name
Response.AddHeader "Content-Length",intFilelength
Response.CharSet = "UTF-8"
Response.ContentType = "application/octet-stream"
' output the file to the browser
Response.BinaryWrite s.Read
Response.Flush
' tidy up
s.Close
Set s = Nothing
response.end
End Function
%>
收集:官世杰
以下是引用片段:
<%
'--------------------------------------直接下载文件
Function downloadFile(strFile)
'strFile = 文件相对路径
' make sure you are on the latest MDAC version for this to work
' get full path of specified file
if instr(strfile,":") = 0 then
strFilename = server.MapPath(strFile)
else
strfilename = strfile
end if
' clear the buffer
Response.Buffer = True
Response.Clear
' create stream
Set s = Server.CreateObject("ADODB.Stream")
s.Open
' Set as binary
s.Type = 1
' load in the file
on error resume next
' check the file exists
Set fso = Server.CreateObject("Scripting.FileSystemObject")
if not fso.FileExists(strFilename) then
Response.Write("<h1>Error:</h1>"&strFilename&" does not exists!<p>")
Response.End
end if
' get length of file
Set f = fso.GetFile(strFilename)
intFilelength = f.size
s.LoadFromFile(strFilename)
if err then
Response.Write("<h1>Error: </h1>Unknown Error!<p>")
Response.End
end if
' send the headers to the users Browse
Response.AddHeader "Content-Disposition","attachment; filename="&f.name
Response.AddHeader "Content-Length",intFilelength
Response.CharSet = "UTF-8"
Response.ContentType = "application/octet-stream"
' output the file to the browser
Response.BinaryWrite s.Read
Response.Flush
' tidy up
s.Close
Set s = Nothing
response.end
End Function
%>
收集:官世杰
1 个回复 | 最后更新于 2008-05-21
lxq123700
2008-05-21
#1
怎么用呀
登录后方可回帖