в конкретном кейсе:
Есть товар у которого есть перечень его изображений и наименование (на самом деле других атрибутов много). Пользователь на детальной странице товара вносит изменения в товар и отправляет запрос на бэкенд (spring), т. е. карточка сохраняется вся одним запросом (нет patchей). Но вот вопрос - если пользователь не изменял изображение товара и они уже есть сохраненные в БД (точнее есть в s3 и есть ссылка на него) как понять а обработчике запроса на бэкенде, что это изображение не менялось, а загрузить на s3 только новые изображения?
Приведу пример:
Есть сохраненный товар: "Коньки"
У него есть три изображения:
Коньки1.jpg
Коньки2.jpg
Коньки3.jpg
Пользователь заходит на детальную карточку товара, добавляет еще одно изображение товара "Коньки4.jpg" и нажимает кнопку сохранения карточки.
Как при обработке запроса на бэкенде понять, что первые три изображения у нас уже есть и нам нет смысла повтороно их загружать в S3, а нужно загрузить только 4? Каждый раз пересохранять изображения при PUT не хочется.
Если у нас REST и на бэкенд отдается JSON, то получается в конечно итоге на бэкенде будет multipart/form-data запрос из которого мы можем распарсить MultipartFile, но чет не догоняю что делать с изображениями.
Посчитать хэши и сравнить с хэшами сохранённых?
Ну, сравнивать файлы целиком ещё дольше.
При загрузке старых картинок с бэка, можно дополнительно отправлять их уникальный ID. Тогда при отправке старых + новых картинок, можно грузить картинки у которых нет ID
Да, идея примерно такая
ок, спасибо. Подумаю над вариантом.
Обсуждают сегодня