Здравствуйте.
Запрашиваю у сервера изображение POST-запросом, получаю в ответ байтовый массив закодированный в
Base64. По завершению загрузки преобразовываю содержимое в
ByteArray и пытаюсь загрузить через метод
loadBytes() экземпляра
Loader что бы потом отобразить на сцене.
По завершению загрузки объект доступен, имеет правильные значения
width,
height, но не виден.

Код AS3:
contentLoader = new Loader()
addChild(contentLoader)
contentLoader.loadBytes(requestObject.data) // Там у объекта полученные байты
contentLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, bytesLoadComplete)
// в bytesLoadComplete(e:Event) есть корректные размеры загруженного изображения,
// stage у contentLoader и пр. — выглядит как здоровый объект
Пробовал, начитавшись хэлпа:
— добавлять
LoaderContext с
checkPolicyFile = fasle — не помогает;
— добавлять маску объекту
Loader;
— принуждать к загрузке
crossdomain.xml, в котором
<allow-access-from domain="*" />
— ловить ошибки
SecurityError и
IllegalOperationError при загрузе
Загрузка с этого же сервера через l
oad(new URLRequest(_link)) по абсолютной ссылке на файл проходит отлично: и изображения и swf грузятся, отображаются.
В чём я надурачил?
Добавлено через 3 часа 8 минут
Как выяснилось ко мне приходила кривая Base64-строка: порой с неожиданным завершением, порой с пробелом посреди строки. От того и правильное определение типа, размеров, но невозможность отобразить.
Мелкие изображения (до 5х5 пксл) передаются на ура.
Будем искать ошибку в запросе. Если есть идеи — буду рад услышать.