Нет, в битмапдате у меня изображение прекрасно грузится.
Там проблем именно с загрузкой вообще нет. Все на одном сервере.
Вот фрагмент кода. Мне нужна функция getImageAsByteArray().
Но, естественно, не через PNGEncoder.encode() или JPGEncoder.encode().

Код AS3:
public function load(imageFileURL:String):void
{
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
loader.load(new URLRequest(imageFileURL), new LoaderContext(true));
}
private function imageLoaded(e:Event):void
{
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, imageLoaded);
loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
// вот тут все в порядке
imageBitmap = Bitmap(loader.content);
// вот эта функция работает неправильно, возвращаемый
// ByteArray не является картинкой
imageByteArray = getImageAsByteArray(loader.content);
dispatchEvent(new Event(BITMAP_READY));
}
private function getImageAsByteArray(image:DisplayObject) : ByteArray
{
return image.loaderInfo.bytes;
}
Добавлено через 21 минуту
Собственно, судя по всему, там в массиве bytes лежит что-то еще:

Код AS3:
var bytesTotal1:int = loader.contentLoaderInfo.bytesTotal;
var bytesTotal2:int = loader.contentLoaderInfo.bytes.length;
var bytesTotal3:int = loader.content.loaderInfo.bytes.length;
trace(bytesTotal1,bytesTotal2,bytesTotal3);
// 43187 43253 43253
Поэтому картинка и не получается обратно из bytes...
Добавлено через 40 минут
Короче, решение оказалось таким:
1. Грузим не через Loader, а через URLLoader как URLLoaderDataFormat.BINARY - получаем картинку в ByteArray
2. Грузим этот массив данных в Loader через loader.loadBytes() - получаем изображение в дисплейлист