mongodb - 以可扩展的方式存储用户提交的文件(图像、pdf)?

标签 mongodb file-upload nginx redis storage

在我的平台上,我允许用户上传他们自己的图片和 pdf。

在我的 IaaS VM 中,我使用 nginx、Redis 和 MongoDB;所以我在想也许可以将它们暂时存储在 Redis 中,然后将它们推送到 nginx 中的静态文件路径。我需要文件的安全权限(用户访问限制);所以考虑在 MongoDB 中存储 {filename↔access-control} 信息。

这是最好的方法吗?或者您能想到更好的方法吗?

最佳答案

我要采用的解决方案:

  • 数据库中存储的路径名↔文件名
  • 与文件名关联的元数据(在文件名中);提供命名空间(例如:用于服务器和数据中心之间的后续分片)
  • 存储在 nginx 静态文件路径上的实际文件(需要在此处调查安全问题)

仍然需要关于在不通过例如 Python 提供静态文件的情况下从 nginx 保护文件的建议

关于mongodb - 以可扩展的方式存储用户提交的文件(图像、pdf)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23192543/

相关文章:

Django boto3 : save uploaded file on Amazon S3

file-upload - ASP VB上传文件,不要使用原来的文件名!使用 URL 方案来命名上传的文件。

http - 在 Nginx(和 lua)中提供大于最小文件大小的图像

ruby-on-rails - 在 Rails 3 的 URL 段中允许编码斜线的最佳方式是什么?

javascript - 从用户时间轴获取转发计数

c# - MongoDB Unable to determine the serialization information for the expression 错误

mongodb - 如果我使用 norm 或 csharp-mongodb 驱动程序,如何在 mongodb 中添加新字段

mongodb - 如何使用原子操作增加 mongoDB 文档中的 Datetime 字段?吗啡也一样吗?

c++ - Powerbuilder 实现 SFTP 功能

django - uwsgi 服务的静态文件的 Nginx 缓存