【问题标题】:Storing a file on the server AND in the database?在服务器和数据库中存储文件?
【发布时间】:2011-08-17 19:46:02
【问题描述】:

我正在使用 MVC 3 和 SQL Server 2008 R2。

我正在为我的客户构建一个文件管理工具,这样他们就可以存储图像和 pdf,然后将它们插入到页面中。

我一直在研究 SQL Server 中的 FILESTREAM,它看起来很棒。它允许我存储文件,并保留它们的备份以防出现问题。

但我还希望将文件物理存储在某处,以便我的客户可以向某人发送链接,例如:http://www.mysite.com/files/mydoc.pdf

这里的最佳做法是什么?两者同时使用是否安全和/或明智?

【问题讨论】:

    标签: asp.net sql-server asp.net-mvc


    【解决方案1】:

    如果通过 URL 提供文件也是您存储在服务器上的唯一原因,我会说您不想这样做。

    在 MVC 中,创建一个控制器操作来处理该 URL、在数据库中查找文件并将其返回给用户是微不足道的。在这种情况下,文件名只是一个操作参数,您的操作逻辑采用该参数从数据库中检索文件并返回 FileStreamResult

    return File(fileStream, contentType, fileName);
    

    这里有更多信息。页面的大约一半显示了使用FileStreamResult的示例

    http://www.mikesdotnetting.com/Article/125/ASP.NET-MVC-Uploading-and-Downloading-Files

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      相关资源
      最近更新 更多