масштабируемый макет для хранения и отображения загруженных пользователем изображений - PullRequest
0 голосов
/ 12 сентября 2010

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

Итак, давайте предположим, что я имел дело с изображениями профиля пользователя, каждое из которых имело бы миниатюры разного размера.Достаточно ли приведенной ниже структуры:

/profile_images
    /user_1
      /image_a
        image_a.jpg
        image_a_small.jpg
        image_a_tiny.jpg
      /image_b
        image_b.jpg
        image_b_small.jpg
        image_b_tiny.jpg
    /user_2
        ...
    /user_3
        ...

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

1 Ответ

1 голос
/ 13 сентября 2010

Ваш макет кажется достаточным для приложения, которое ожидает умеренное количество пользователей и изображений.

При этом решение может оказаться недостаточным, если в игру вступят следующие факторы:

  1. Количество комбинаций пользователя и изображения увеличивается.
  2. Ваши пользователиРаспространение по всему миру.
  3. Вам необходимо создать версию изображений.
  4. Вы обнаружите, что на размещение изображений тратится много трафика.

В таком случае вы можете захотеть взглянуть на хранение и обслуживание этих изображений снаружи, используя что-то простое, например Amazon S3, или полноценную сеть доставки контента (CDN).

Я полагаю, что есть несколько плагинов для поддержки хранилища S3 с минимальными усилиями. S3Storage является одним из таких (предостережение: я использовал S3, но не S3Storage).

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...