Задать вопрос
vitaly_74
@vitaly_74

Имеет ли смысл хранить в БД информацию о разных разрешениях картинки?

На сайте есть картинка и производные от нее, в меньших разрешениях: 637х360 и 300x160. Оригинальная картинка может иметь любое разрешение. В БД храню ссылку на оригинальное изображение. Имеет ли смысл хранить ссылку на изображение с расширением 300x160 или искать картинку на сервере по ориг_имя-300х160.jpg?
  • Вопрос задан
  • 241 просмотр
Подписаться 3 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 5
mayton2019
@mayton2019
Bigdata Engineer
В данной обобщенной постановке база вообще не нужна. У нас есть в одной руке уникальный индентификатор картинки. Например IMG0001. И мы по нему можем сформировать все 3 линки на дисковое хранилище с картинками.
Ответ написан
Комментировать
borisdenis
@borisdenis
Ленив и вреден...
Если у вас всегда оригинальная картинка конвертируется в несколько с разным разрешением - нет никакого смысла хранить лишнюю информацию в базе, проще сразу искать по имени.
Ответ написан
Комментировать
tsklab
@tsklab
Здесь отвечаю на вопросы.
Можно не хранить лишнюю информацию, но и искать нет необходимости:
CREATE TABLE Picture( ID INT IDENTITY NOT NULL,
	Original VARCHAR(500) NOT NULL,
	PictOriginal  AS (Original+'.jpg'),
	Pict360       AS (Original+'-637х360.jpg'),
	Pict160       AS (Original+'-300x160.jpg')
)
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега Веб-разработка
♬♬
Пара мыслей в пользу хранения в БД всех имён. И переименования в какие-то сгенеренные длинные имена с хэшами.

1. теоретически возможна коллизия:
уже есть картинка с исходным именем img-300x160.jpg (ну, загрузили скачанную с такого же сайта и залили к вам). И потом кто-то загружает картинку img.jpg для которой сгенерится версия 300x160.

2. другая история – защита от хотлинка файлов. Скажем, ВКонтакте имена статики меняет раз в неск. дней.
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
выплюнуть строку с форматированием ничего не стоит
запросить бд и что то отдать стоит х100 примерно
коммон в чем вопрос то? ну добавьте фоновую задачу которая делает вам превьюшки
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы