2011-09-28 62 views
0

我有一个在asp.net mvc3中制作的web应用程序。有一个工具可以使用应用程序上传和下载文件。上传的文件将存储在Web根目录下的某个文件夹中。我希望允许将文件下载到只能访问这些文件的人。没有人能够通过直接粘贴文件的URL来下载文件。根据asp.net上的访问级别限制文件下载

我使用IIS访问受限的共享主机。那么实现这个目标的最好方法是什么?

+0

你对你的网站使用SQL吗?如果你不能使用IIS控制访问,它可能更容易将图像存储在您的SQL Server,你可以更轻松地管理它们。 – Oliver

+0

我使用SQL服务器,但文件将作为巨大的50MB到100MB,所以我觉得这是一个好主意,将它们存储为文件...... – Amit

回答

1

您目前如何存储访问权限的数据?这听起来像你不能使用IIS来控制对你的文件的访问,并且必须自己处理它。

由于这种情况,而不是链接到该文件直接,你应该将文件存储到您的Web根目录之外,然后处理未来在使用GET方法通过ASP.NET MVC文件的请求。此时,您可以检查用户的凭据,如果他们有权访问,则可以提供该文件。

我不是太熟悉它,但它看起来像ASP.NET MVC,使服务的文件很容易返回一个FileContentResult的能力,由Controller.File法(文档here)的支持。

This blog post看起来像一个很好的开始,你就只需要插入您的证件检查逻辑到Get方法。

+0

这是一个很好的一个。谢谢.. :) – Amit