2015-02-23 2 views
1

Я строю сайт с большим количеством загруженных пользователем изображений (например, на Airbnb допускают)компресс и изменять размер пользовательских загруженные изображения

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

Я хочу изменить это изображение до требуемого разрешения и сжимать, когда это возможно (преобразование в jpeg), чтобы увеличить время загрузки и уменьшить трафик.

Я нашел это может быть сделано либо путем:

  • Создание HTML-холст, сделать соответствующие преобразования в браузере, а затем загрузить.
  • Загрузка изображения на сервер, а затем запуск некоторых дополнительных задач для уменьшения размера и сжатия.

Каковы преимущества каждого подхода? который является наиболее распространенным? какие соображения я должен иметь в каждом случае?

Мой стек в настоящее время node.js/угловой. Я не намерен использовать CDN на данный момент, поскольку проект находится в фазе dev

заранее!

ответ

1

для записи, решение, которое я нашел наиболее простым, было загрузить любое изображение, выбранное пользователем в холсте html5, и преобразовать его в jpeg, а затем загрузить jpeg и в бэкэнд я бы изменил его размер с помощью узла imagemagick пакет.

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

1

Вам необходимо установить и добавить imagemin в свою задачу, вот ссылка для вас, чтобы получить его. https://github.com/gruntjs/grunt-contrib-imagemin Удачи.

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