【问题标题】:How to manage files uploaded by users?如何管理用户上传的文件?
【发布时间】:2016-05-20 00:56:56
【问题描述】:

我有一个使用 nginx 的网络应用程序。假设它在 Rails 中,但这并不重要。

我计划每天让用户上传大约 100 张图片/文件。我不想使用任何自定义解决方案来制作故事和上传图像,而是我想自己管理它。

1) 是否有我应该存储这些图像的惯用位置/路径?或者 nginx 范围内的任何路径都可以工作吗?

2) 它应该是一个单独的文件夹,与我用于为 CSS 制作故事图片的文件夹分开吗?

3) 我将如何组织文件夹林?也就是说,应该是/my_base_image_folder/{year}/{month}/{day}/{image_sequence_number}.jpg之类的吗?

或者/my_base_image_folder/{article_id}/{image_sequence_number}.jpg?或者我应该把它们放在同一个文件夹`/my_base_image_folder/{img_guid}.jpg?

为什么?

4) 命名上传文件的推荐解决方案是什么?图形用户界面?还是序号?

【问题讨论】:

  • 我将根据主题行回答这个问题,因为我不太确定您不使用自定义解决方案是什么意思,但如果使用 Ruby On,我建议使用回形针和亚马逊 S3 处理文件导轨。文件可以轻松存储并与用户关联,而且非常灵活。

标签: ruby-on-rails linux file nginx


【解决方案1】:

这完全取决于您再次使用这些图像的用例。如果您打算在以后的会话中为这些用户检索用户上传的图像,即,如果您的用户必须在您的应用程序中浏览他们的图像,最好将其存储在a_public_folder/user_id_hashed/ 中。如果您打算根据上传的时间或日期检索图像,最好使用a_public_folder/year/month/day/..。为了安全起见,确保您的 ngnix 可以使用不太开放的权限访问公用文件夹。另外,命名图像文件,我猜应该是时间戳和一个小的随机十六进制的组合,没什么大不了的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-18
    • 2019-08-27
    相关资源
    最近更新 更多