2016-05-20 6 views
0

У меня есть веб-приложение, которое использует nginx. Предположим, что это в Rails, но это не имеет большого значения.Как управлять файлами, загружаемыми пользователями?

Я планирую иметь около сотни фотографий/файлов, загружаемых каждый день пользователями. Я не хочу использовать какое-либо настраиваемое решение для рассылки и загрузки изображений, и вместо этого я хочу сам это обойти.

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) Что такое рекомендуемое решение для именования загрузки файлов? GUID? Или порядковый номер?

+0

Я собираюсь ответить на этот вопрос на основе темы, так как я не совсем уверен, что вы имеете в виду не использовать пользовательские решения, но я бы рекомендовал обрабатывать файлы с помощью paperclip и amazon S3 при использовании Ruby On Rails. Файлы могут быть легко сохранены и связаны с пользователями, и они чрезвычайно гибкие. – bkunzi01

ответ

0

Все зависит от вашего варианта использования для повторного использования этих изображений. Если вы планируете получать изображения, загруженные пользователями для этих пользователей на последующих сеансах, то есть, если ваши пользователи должны просматривать их изображения в своем приложении, лучше сохранить их в a_public_folder/user_id_hashed/. Если вы планируете получать изображения на основе загруженного времени или даты, лучше, если вы идете с a_public_folder/year/month/day/... Убедитесь, что общая папка доступна вашим ngnix, используя не слишком открытое разрешение, чтобы быть в безопасности. Кроме того, именование файлов изображений, сочетание временной метки и небольшого случайного гексагона должно делать, я думаю, не имеет большого значения.

Смежные вопросы