Является ли хорошей идеей в процессе загрузки изображения создать большие пальцы? - PullRequest
0 голосов
/ 15 января 2012

Мне интересно, как лучше всего сохранять и отображать превью загруженных изображений.У меня есть фотогалерея, и когда я загружаю изображение, я сохраняю его в исходном размере, thumb1, thumb2 и thumb3.Проблема в том, что процесс загрузки занимает много времени, потому что сохраняются 4 изображения.

Я хотел бы спросить, что - лучше сделать это таким образом, что я делаю сейчас (я имею в видузагрузить изображения, а затем создали еще 3 больших пальца) или загрузить только исходный размер изображения и в представлении приложения просто с помощью CSS вручную установить ширину и размер большого пальца изображения?

Как это сделатьВы предпочитаете?Мое приложение работает на Rails 3.1, heroku, для загрузки используется paperclip и сервис amazon.

Ответы [ 2 ]

2 голосов
/ 15 января 2012

У нас есть аналогичная функция на нашей CMS (на основе .NET). Пользователи загружают изображения, а обработчик создает эскизы по запросу в желаемом разрешении. Существует также механизм кэширования диска для обеспечения дополнительной производительности. Это хорошо работает для нашего случая.

В вашем случае, я бы никогда не использовал изменение размера CSS, что является плохой идеей IMO.

1 голос
/ 19 мая 2012

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

Пример. Изображение 1000 x 1000 пикселей составляет 1 миллион пикселей. сохранение копии с измененным размером 100 x 100 при загрузке и предоставление ее пользователю с разрешением 10000 пикселей На 99% меньше !!!

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

...