Поскольку вы ссылались на шаблон MCV и использовали такие термины, как «загрузка», я собираюсь предположить, что это веб-разработка. Я также предполагаю, что ваш шаблон:
- пользователь загружает кучу изображений
- вы выполняете некоторую обработку изображений
- вы представляете обработанные изображения, поэтому пользователь может выбрать один
- , который на самом деле сохраняется
Ответ «Пересмотреть этот путь»
Если вы это сделаете, это определенно плохой подход. Передача массовых данных только для того, чтобы фактически использовать их часть? Очень распространенная ошибка новичков в разработке веб и баз данных. Другая нагрузка на процессор - на стороне сервера.
Какую бы обработку вы ни выполняли, в идеале вы должны делать это на стороне клиента: плагин для браузера. Индивидуальное клиентское приложение. JavaScript элемент. Даже просто требуя от пользователя заданный формат c. Что-то в этом роде. И только затем загружайте это указанное c изображение.
Если сервер никогда не должен видеть бит из тех изображений, которые вам не нужны, это хороший дизайн.
Постановка таблица / база данных
Это ответ, который вы действительно придерживаетесь своего подхода или по какой-то причине он не подходит. Чтобы серверный процесс обрабатывал изображение и отображал его, необходимо сохранить на стороне сервера.
В памяти это не вариант. WebServers, как известно, с чрезвычайно продуманным дизайном и ThreadPools 50-100 потоков на ядро ЦП, как известно, легко запускает из ресурсов, в частности из памяти . И это подразумевает, что вы можете на самом деле сохранить что-то в памяти, как это для начала (дизайн не делает это легким, чтобы сбить вас с этого пути).
Таким образом, следующая лучшая ставка - это промежуточный стол или темп. каталог. Что-то, где вы можете:
- хранить изображения, которые вы только что загрузили
- иметь некоторый фоновый процесс обработки их
- вы можете передать обработанные изображения из
- вы можете передать одно изображение, которое пользователь хочет, в надлежащую постоянную базу данных
- что-то, что регулярно очищает любые данные, которые пользователь никогда не принимал решения по
Лично я бы посоветовал для отдельного набора таблиц БД. В наши дни временные директории являются уязвимостью безопасности, которую ни один администратор не должен принимать без поиска альтернатив.