【发布时间】:2012-10-07 03:08:52
【问题描述】:
我想强制用户下载文件。我的网站文件夹路径是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。由于安全原因,我无法在网站文件夹中移动文件。帮帮我
【问题讨论】:
-
你为什么要表现得像恶意软件?
-
Web 服务器不应允许访问网站文件夹之外的任何内容。此行为是设计使然。请退后一步,描述您要解决的问题,而不是您认为的解决方案。
-
他在做什么有什么问题吗?他正在加载特定文件并将其发送给客户端。我认为这背后有一些原因,并且可能有一些安全措施只允许特定的访问。如果该文件位于网站文件夹中,那么任何人都可以检索该文件。通常这样的问题是网站正在运行的用户没有访问此文件夹的权限,但如果您收到未找到文件的错误,则没有。
-
如果这只是提供网站目录之外的文件的情况 - 您可以使用的另一个选项是 IIS 虚拟目录:technet.microsoft.com/en-us/library/cc771804(v=ws.10).aspx - 您可以使用只读凭据等映射虚拟文件夹
标签: asp-classic vbscript