Отправка-загрузка изображений из Flash в PHPServer-последовательность и плюсы минусов различных опций - PullRequest
0 голосов
/ 16 июля 2009

Кажется, что существует много способов загрузки изображений на сервер с поддержкой PHP, трудно разобраться в различных вариантах и ​​при каких обстоятельствах предпочтительнее использовать один из них над другим. На внешнем интерфейсе у вас есть возможность JPGencode или нет, использовать ByteArray или нет, дополнительно сжимать ByteArray или нет. На стороне сервера, если предположить, что кто-то использует PHP, есть возможность использовать стороннее удаленное взаимодействие (ZendAMF или AMFphp) или нет, и в чем преимущества каждого из них.

То, что я вижу в качестве основной последовательности шагов внешнего интерфейса, независимо от параметров

  1. Создается объект Bitmapdata, представляющий изображение, которое должно быть загружено и сохранено на сервере.
  2. Если используется кодирование JPG, закодированы BitMapdata, если не пропустить и перейти к шагу 3.

  3. Если используется ByteArray, создается новый объект byteArray, равный 1 или 2, если не пропустить, и переходите к шагу 4.

  4. Подключение к услуге - загрузить-сохранить данные изображения

Может ли кто-нибудь исправить или уточнить вышесказанное?

1 Ответ

0 голосов
/ 17 июля 2009

Я думаю, самый простой и естественный способ - взять ByteArray или BitmapData (который полностью взаимозаменяем, используя getPixels и setPixels), кодировать его в JPG или PNG, используя as3corelib , а затем отправить его ... преимущества кодирования на стороне клиента

  1. очевидно, пропускная способность
  2. ваши данные становятся реальным файлом, а не просто двоичными данными ... вы можете хранить их непосредственно в файловой системе и передавать их через http ... BitmapData - это просто фрагмент размером 32 бита на пиксель, а не даже сохраняя размер изображения ... используйте PNG, если вы хотите без потерь, JPG в противном случае ...

Самая простая вещь для меня, это отправить ее на сервер с помощью стандартного класса URLLoader ... данные просто находятся в $HTTP_RAW_POST_DATA ... здесь нет никаких оснований использовать каркас, если только остальные ваш сервер основан на одной из упомянутых платформ ...

надеюсь, что это поможет ...

Greetz

back2dos

...