强制用户下载文件

时间:2012-10-07 03:08:53

标签: asp-classic vbscript

我想强制用户下载文件。我的网站文件夹路径为D:\websites\domain\ 和文件路径是E:\folder\file.bak

ASP - VBScript

<%

   Dim Stream
   Dim Contents
   Dim FileName
   FileName = "E:\db\A101.bak"
   Response.ContentType = "application/octet-stream"
   Response.AddHeader "content-disposition", "attachment; filename=" & FileName
   Set Stream = server.CreateObject("ADODB.Stream")
   Stream.Open
   Stream.LoadFromFile Server.MapPath(FileName)
   Contents = Stream.ReadText
   Response.BinaryWrite Contents
   Stream.Close
   Set Stream = Nothing

%>

如果文件在我的网站文件夹中,它的工作完美,但如果我使用路径E:\ db \ A101.bak给我一个错误,File not Found。由于安全原因,我无法在网站文件夹中移动文件。帮帮我

1 个答案:

答案 0 :(得分:2)

由于您已经知道了物理路径,因此不需要Server.MapPath方法。 (此方法通常用于将虚拟路径转换为物理路径) Server.MapPath方法可能不适用于网站结构之外的路径...

所以,尝试使用

Stream.LoadFromFile FileName