2016-01-30 3 views
0

Я работаю с проектом. И есть функция, которую пользователь может загрузить. Это изображение будет использоваться на разных страницах веб-сайта разных размеров (например, 200 * 300, 360 * 520, 700 * 1000).Когда мне нужно создать эскиз изображения?

я могу создать миниатюру два способ

  1. при загрузке изображения, создать миниатюру с разным размером и магазином.

  2. При отображении изображения src на какой-либо скрипт на стороне сервера, измените размер изображения и распечатайте изображение, вместо отображения.

Каков правильный способ? Если я использую 1-й метод, я думаю, что дисковое пространство будет заполнено очень быстро, есть ли проблема со вторым методом?

ответ

0

Преимущество метода 1 заключается в том, что вы не будете рисковать одновременным изменением размера одного и того же изображения и что вы можете быстро предоставить версию для отображения вашему пользователю.

Но почему ваш диск будет работать быстро, если вы заранее определите размер изображений? Это произойдет, если вы измените их размер до любого возможного размера, так что это не очень хорошая идея.

Способ 2 более гибкий. Вы просто запрашиваете изображение в заданном размере, и ваш скрипт будет производить его на лету. Конечно, это немного медленнее, но вы можете кэшировать измененное изображение, чтобы посетители быстро отображали изображения, если только они не являются первыми, кто запрашивает изображение определенного размера.

Мое предложение: Если вы знаете, какие размеры вы используете на своем сайте, вы можете использовать эти размеры для изменения размера изображений на ранней стадии. Вы даже можете создать конфигурацию на своем веб-сайте с кучей предопределенных размеров изображения, которые вы можете использовать на своем веб-сайте, и использовать те же конфигурации для масштабирования изображений при их загрузке. Это имеет некоторые преимущества:

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

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

Кроме того, если вы измените или добавите измерение, вы можете сразу создать все изображения такого размера, чтобы посетители могли сразу воспользоваться версией кэшей. И, конечно же, это также облегчает очистку кеша для изображений измерения, которое больше не находится в списке, если вы его удалите или измените.

Если вы выберете этот метод, он очень легко реализует метод 1 и предварительно кэширует все, но даже если вы выберете метод 2 (если только в качестве резервной копии, если кешированная версия не существует), то все же это принесло бы пользу.

Смежные вопросы