Как обслуживать файлы с переписанными именами файлов? - PullRequest
0 голосов
/ 19 июня 2019

Я работаю над приложением, которое будет хранить изображения в файловой системе. Например, если пользователь загрузит изображение с именем «green.jpg», оно будет сохранено как / wwwroot / images / f / c / 3 / fc3b16ee-9254-11e9-bc42-526af7764f64.jpg

В базе данных у меня будет таблица, которая содержит имя изображения и его оригинальное имя:

UUID                                    Name
fc3b16ee-9254-11e9-bc42-526af7764f64    green.jpg

Я хочу, чтобы сгенерированный html выглядел следующим образом:

<img src="/whatever/green.jpg">

Так что вопрос в том, как обслуживать / wwwroot / images / f / c / 3 / fc3b16ee-9254-11e9-bc42-526af7764f64.jpg когда браузер запрашивает " green.jpg""

Создание / wwwroot / what / green.jpg не очень хорошая идея из-за возможных конфликтов имен и дополнительного диска io.

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

Создание нового каталога для каждой буквы UUID решило бы обе проблемы, но я не знаю, хорошая ли это идея.

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

Если это имеет значение, я использую PostgreSQL в качестве движка БД и буду запускать приложение в Linux. Я не знаю, какую файловую систему я буду использовать, вероятно, ext4.

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