〖打印本页〗〖打印选项〗 |
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("<h1>Error:</h1>"&strFilename&"你要下载的文件不存在!<p>") Response.End End If 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 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 文章作者:未知 |