Загрузка и обработка изображений на стороне сервера или на стороне клиента? - PullRequest
0 голосов
/ 02 декабря 2011

Мой сайт требует квадратов изображений.На данный момент у меня есть очень простое средство загрузки изображений.Изображения загружаются и изменяются в размере и квадрат в PHP на сервере.Это вызывает следующие проблемы: - он использует много ресурсов сервера; - изображения часто имеют несовершенный квадрат; - нет никаких признаков прогресса для пользователя, в частности, проблема при попытке загрузить большие изображения

I '.Теперь я начинаю смотреть на внедрение новой страницы загрузки изображений.Что бы вы порекомендовали, продолжайте обработку в PHP.Я подумал, что я мог бы сделать это на стороне клиента (мы используем jQuery), есть ли хорошие библиотеки?Делает это на стороне клиента хорошей идеей.Что такое хороший рабочий процесс PHP / javascript?

Ответы [ 3 ]

1 голос
/ 02 декабря 2011

Придерживаясь проверенных / настоящих решений на стороне сервера, попробуйте использовать ImageMagick для изменения размера вместо встроенной обработки изображений php.

В нашем опыте это работает намного лучше.

0 голосов
/ 02 декабря 2011

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

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

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

https://developer.mozilla.org/En/HTML/Canvas/Pixel_manipulation_with_canvas

Вот библиотека: http://www.nihilogic.dk/labs/canvas2image/

0 голосов
/ 02 декабря 2011

Вы можете попробовать использовать плагин для обрезки jQuery, такой как JCrop , который поддерживает пропорциональную блокировку для обеспечения квадратов изображений.

Пожалуйста, помните, что ничто на стороне клиента не является на 100% безопасным, поэтому любая проверкатакже должен быть продублирован на стороне сервера.Это может означать проверку ширины / высоты изображения и, если необходимо, обрезку в PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...