|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
在IE进行文档链接时,假如碰到OLE支持的文档,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 %> 返回类别: 教程 上一教程: 用ASP打开远端MDB文件 下一教程: IIS5 + ADO 2.5新先睹为快技术(一) 您可以阅读与"ASP实现文件直接下载"相关的教程: · 利用ASP技术实现文件直接上传功能 · 实现文件下载而不是由IE打开的代码 · 使用ASP实现文件上载(上传)的各种方式 · 无组件实现文件上传/下载 · 使用ASP实现文件上载(上传)的各种方式 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |