站長資訊網
最全最豐富的資訊網站

ASP單擊鏈接直接下載文件的代碼

在ie中點開圖片或文檔的鏈接里,IE會自動打開它,有時候這種功能并不是我們所需的,雖然我們可以提醒用戶用鼠標右鍵–>”目標另存為….”命令來下載文檔或圖片,但這樣畢竟不太方便,本文描述了利用FSO及Stream方法實現IE直接下載文檔. <%@ language=vbscript codepage=65001%>  

 


<%  
‘Filename must be input  
if Request(“Filename”)=”” then  
response.write “<h1>Error:</h1>Filename is empty!<p>” 
else  
call downloadFile(replace(replace(Request(“Filename”),””,””),”/”,””)) 
Function downloadFile(strFile) 
‘ make sure you are on the latest MDAC version for this to work 
‘ get full path of specified file 
strFilename = server.MapPath(strFile) 
‘ 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 
End Function 
end if  
%> 
<%@ language=vbscript codepage=65001%>
<%
‘Filename must be input
if Request(“Filename”)=”” then
response.write “<h1>Error:</h1>Filename is empty!<p>”
else
call downloadFile(replace(replace(Request(“Filename”),””,””),”/”,””))
Function downloadFile(strFile)
‘ make sure you are on the latest MDAC version for this to work
‘ get full path of specified file
strFilename = server.MapPath(strFile)
‘ 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
End Function
end if
%>

分享到: 更多

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
亚洲另类春色国产精品| 亚洲精品第一国产综合精品| 亚洲国产另类久久久精品黑人| 久久久久久精品久久久久| 国产精品日韩一区二区三区| 久久久久精品国产亚洲AV无码 | 欧美日韩精品乱国产| 日韩人妻无码精品专区| 少妇人妻偷人精品视蜜桃| 国内精品免费视频精选在线观看| 精品国产一区在线观看| 亚洲av无码国产精品色午夜字幕| 亚洲欧洲中文日韩av乱码| 亚洲精品第一国产综合野| 国产精品黄页免费高清在线观看| 日韩美女视频一区| 永久免费无码日韩视频| 亚洲mv国产精品mv日本mv| 思99热精品久久只有精品| 精品日韩99亚洲的在线发布| 国产手机精品一区二区| 久久99精品国产免费观看| 在线观看国产日韩| 91国内揄拍国内精品情侣对白 | 日韩在线视频播放免费视频完整版 | 国产精品国产三级国产av中文| 国产亚洲精品自在线观看| 99视频在线精品免费观看6| 国产午夜福利精品久久2021| 国产综合精品一区二区| 久久精品无码一区二区无码| 国产精品九九久久免费视频 | 日韩精品亚洲aⅴ在线影院| 久久久久国产精品免费免费不卡| 中日韩一区二区三区| 99re6在线视频精品免费下载 | 国产成人精品实拍在线| 国产精品91av| 国产999精品2卡3卡4卡| 国产精品无码日韩欧| 久久AV无码精品人妻出轨|