Как я могу хранить мои изображения на сервере
Как мне сохранить фото на сервере.
Я храню их в каталоге - "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".