Как быстрее загрузить междоменное изображение, используя file_get_contents и base64_encode?

Мне нужно быстрее загружать изображения в мое веб-приложение из facebook или flickr. Я использую функцию php file_get_contents и base64_encode, чтобы получить междоменное фото и передать данные изображения на холст html5. Все остальные обработки выполняются на стороне клиента, и я доволен этим.

Вы можете попробовать это здесь: http://onlinephotomashup.com

Проблема заключается в задержке загрузки фото в мое приложение.

Я исследовал cURL и file_get_contents, чтобы увидеть, что быстрее, и пришел к выводу, что они очень мало делают для быстрой загрузки фотографий. Поэтому я перехожу к base64_encode, который кодирует фотографию в текст, размер которого увеличивается более чем на 30% от размера фотографии. Так что я думаю, что моя проблема здесь.

Я хочу base64_encoding фотографии меньшего размера, чем размер исходной фотографии, чтобы загрузка была быстрее. Как этого добиться?


person sumen    schedule 17.09.2011    source источник
comment
Разве вы не можете загрузить обычное изображение и скопировать его на свой холст?   -  person Pekka    schedule 17.09.2011
comment
хорошо, я могу загрузить его для чтения, но не могу писать или редактировать его, так как изображение должно быть загружено из другого домена.   -  person sumen    schedule 17.09.2011
comment
@sumen вы не можете скопировать изображение во что-то на стороне клиента, что можно отредактировать или записать?   -  person David d C e Freitas    schedule 18.11.2011


Ответы (1)


Может быть, gzip вывод base64_encode? И отправьте соответствующий заголовок браузеру клиентов, чтобы он распаковал данные.

person Timur    schedule 17.09.2011
comment
Я думаю, что сжатие base64_encode хорошо подходит для небольших изображений, но для больших изображений разница в размере невелика. - person sumen; 18.09.2011