【问题标题】:Give link to download file from server提供从服务器下载文件的链接
【发布时间】:2011-08-09 08:28:28
【问题描述】:
我使用 ASP.NET。
我在服务器上有几个音频文件,我应该给用户一个临时下载链接。这意味着几个小时后链接应该不可用
例如我给用户:www.mysite.com/files/111.mp3,但是如何保护 www.mysite.com/files/ 不被直接访问和下载任何用户?UrlRewriting 是我需要的吗?
如何制作一个临时网页/链接来下载和保护文件不被地址线直接访问?
也许我应该将文件存储在数据库中(我有 SQL Server 2008)?有帮助吗?
【问题讨论】:
标签:
asp.net
file
url-rewriting
download
webpage
【解决方案1】:
我认为您将需要一种方法来管理临时链接(例如带有时间戳的数据库),当您通过其中一个链接收到请求时,您将使用 HttpHandlers 拦截此请求,通过以下方式获取您的数据库请求的链接。
如果给定的时间段仍然是最新的,您将从服务器获取实际文件并让Httphandler 将其作为流发送回用户。
这样,最终用户仍将获得请求的文件,但他会看到他正在从您的临时链接获取文件
(例如:http://mysite.com/files/kdhsdg52354d)并且在您定义的期限后将无法再次使用它。
对不起,我很着急,所以无法更好地格式化答案:)。