网站位置:首页 >> 相关文档
ASP实现文件直接下载
在IE进行文档链接时,如果遇到OLE支持的文档,IE会自动调用相应程序打开它,有时候这种功能并不是我们所需的,虽然我们可以提醒用户用鼠标右键-->"目标另存为...."命令来下载文档,但这样毕竟不太友好,本文描述了利用FSO及Stream方法实现IE直接下载文档。

主程序代码如下:
--------------------------------------------------------------------------------
定义所有需要使用的变量 
Dim strFilename,S,Fso,F,intFilelength
strFilename = Server.MapPath(Trim(Request("File")))    
Response.Buffer = True    
Response.Clear    
Set S = Server.CreateObject("ADODB.Stream")    
S.Open    
S.Type  =  1    
On  Error  Resume  Next    
Set Fso = Server.CreateObject("Scripting.FileSystemObject") 
If Not Fso.FileExists(strFilename) Then 
Response.Write("

Error:

"&strFilename&"你要下载的文件不存在!
")    
Response.End    
End  If

Set F = Fso.GetFile(strFilename)    
intFilelength = F.Size 获取文件大小
S.LoadFromFile(strFilename)    
If Err Then    
Response.Write("

Error: 

Unknown Error!
")    
Response.End 
End If  

Response.AddHeader "Content-Disposition","attachment;filename="&F.name    
Response.AddHeader "Content-Length",intFilelength    
Response.CharSet = "GB2312"    
Response.ContentType = "application/octet-stream"    
Response.BinaryWrite  S.Read    
Response.Flush        
S.Close    
Set S = Nothing

Time.2009-8-3     来源.http://www.gcity.com.cn     编辑.上海红提城信息科技有限公司    
© 2002-2008 www.Gcity.com.cn ICP06055129咨询热线:4008207959     021-33606181(红提城信息科技)