如何以及在哪里保存上传的用户个人资料(及相关)图片/视频/文件?

时间:2012-09-02 15:02:44

标签: c# .net storage

在WebMatrix网站中,从数据库动态生成用户配置文件,我应该在何处以及如何存储用户上传的内容?

除非用户选择了自己的个人资料,并且上传的内容公开可见,否则我不希望此内容可公开显示。

但是我不能把它全部放在一个单独的目录中,因为您需要做的就是猜测存储此类内容的位置,然后浏览该目录中的文件列表。那么,我应该将它放在我的\根目录之外(我不认为在某些共享托管环境中这是可能的),还是应该以某种方式将此内容插入数据库? (我尽力避免使用此选项)。

对于像图像和视频这样的内容,我认为我应该使用受信任的存储提供程序/映像主机类型服务,我将使用API​​访问来存储和检索这些文件,然后只存储指向上传文件的链接到我的数据库中的文件存储主机?

1 个答案:

答案 0 :(得分:2)

你可以

  • 将额外文件与其他用户详细信息一起存储在数据库中。 (您可能希望在实现存储之前与数据库管理员讨论此问题)
  • 将文件放在ASP.NET应用程序可以访问的文件共享上,但无法从Web访问。
  • 转动目录浏览并将文件放在那里。 “everyone”无法浏览所有文件,但它确实意味着任何拥有直接链接的人都可以在不登录的情况下下载该文件。

我会使用选项2:将文件放在不能直接从网络访问的目录中,并通过您的网络应用程序引导所有下载,以便您控制谁可以下载内容。