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

Теперь у меня есть идея хранить каждый файл в отдельном каталоге со случайным именем:

/media/upload_year/upload_month/upload_day/random-uuid/filename.ext

Например:

/media/2016/11/18/a1b24567184c/filename.ext

Это выглядит очень просто и безопасно, потому что практически невозможно найти случайный uuid, но я беспокоюсь о производительности и ограничениях файловой системы. У меня есть файловая система ext4 на диске rota server. Итак, вопрос - нормально ли хранить каждый файл в отдельном каталоге? Можно ли хранить 1000 - 2000 файлов с таким подходом без проблем с производительностью?

1 ответ1

0

Решил основную задачу другим способом - добавил случайный uuid к имени файла (например, /media/2016/11/18/a1b24567184c-filename.ext) и вырезал его при обслуживании файла в nginx, используя заголовок Content-Disposition . Так что главный вопрос все еще сомнителен

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .