Как я могу хранить мои изображения на сервере

Как мне сохранить фото на сервере.

Я храню их в каталоге - "D:\zjm_code\basic_project\pinax\media\default\pinax\images\upload", но сейчас это много изображений.

Есть еще один простой способ?

Спасибо

2 ответа

Решение

Когда вы храните все изображения в одном каталоге, они могут быстро стать неуправляемыми из-за огромного количества файлов. Вы можете поместить свои изображения в подкаталоги, основываясь на хэш-функции md5 или sha1. Обычно достаточно двух уровней subdir.

В этом случае ваш каталог images/upload будет содержать подкаталоги с именами 00, 01, 02 .. FF (всего 256 имен), и каждый из этих 256 каталогов, в свою очередь, будет содержать каталоги с именами от 00 до FF, что дает вам в общей сложности 256*256. каталоги на уровне 2.

Для каждого загруженного файла вы вычисляете хеш-функцию (необязательно на основе его содержимого, но на основе некоторых уникальных данных) и берете [0:2] в качестве имени первого каталога и [2:4] в качестве имени каталога второго уровня.

Это было бы полезно при создании каталогов: функциональность mkdir -p в Python

Есть два общих варианта.

1) Храните их в файловой системе на сервере, желательно не в одном каталоге, а логически.

2) Храните изображения в базе данных, если вы используете MySql, вы сделали бы это с использованием типа "blob".

Другие вопросы по тегам