Сохранить несколько изображений из Flash на сервер с помощью JPGEncoder? - PullRequest
0 голосов
/ 26 июля 2011

Я пытаюсь закодировать и загрузить два (или более) изображения из Flash с помощью JPGEncoder.Я могу загрузить одно изображение без проблем, но мне никогда не приходилось загружать два или более кодированных изображения.Это код, который я использую для кодирования и загрузки одного изображения.

var bmd:BitmapData = new BitmapData(img.width,img.height,true,0);
bmd.draw(img);

var ba:ByteArray = new JPGEncoder(90).encode(bmd);

var vars:Object = new Object();
vars.path = 'uploads/';

var urlRequest : URLRequest = new URLRequest();
urlRequest.url = 'http://example.com/image.php';
urlRequest.contentType = 'multipart/form-data; boundary=' + UploadPostHelper.getBoundary();
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = UploadPostHelper.getPostData('image.jpg',ba,vars);
urlRequest.requestHeaders.push(new URLRequestHeader('Cache-Control', 'no-cache'));

var urlLoader : URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.addEventListener(Event.COMPLETE, loadComplete);
urlLoader.load(urlRequest);

function loadComplete(e:Event):void {
    trace(e.target.data);
}

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

1 Ответ

2 голосов
/ 26 июля 2011

Если вы поместите всю свою кодировку JPEG и загрузите ее в функцию, вы можете вызвать эту функцию с loadComplete(e:Event).Примером имени функции может быть urlEncodeUpload() Вызов функции один раз из вашего кода, и когда она сигнализирует loadComplete, она может снова вызвать себя (что-то вроде итератора, но с использованием стиля, управляемого событиями).* Сначала вам нужно проверить, есть ли у вас изображения для кодирования и загрузки.Если у вас есть все ваши изображения в собственном массиве, вы можете pop() следующее растровое изображение, пока оно не станет пустым, и передать это изображение в функцию urlEncodeUpload()..

...