Скачать и сохранить JPEG с Action Script 3
Привет, мне нужно несколько советов о том, как загрузить изображение в формате JPEG, адресованное через URL, и сохранить его на локальный диск с помощью скрипта действия 3.
Большинство найденных Iv решений требуют библиотек кодирования JPEG, но я не понимаю, почему я должен что-то кодировать. Файл уже в формате JPGE, почему мне нужно загрузить его как BitmapData только для того, чтобы использовать какой-то громоздкий класс кодирования JPEG, чтобы снова превратить его в формат JPEG, прежде чем я сохраню его на диск?
Мне нужно решение, которое обходит этот неэффективный подход, пожалуйста.
1 ответ
Вам не нужно.
var stream:URLStream = new URLStream();
stream.addEventListener( Event.COMPLETE, completeHandler );
stream.load( "URL TO JPG");
function completeHandler( e:Event ):void {
var bytes:ByteArray = new ByteArray();
stream.readBytes( bytes );
// use either FileStream or FileReference to save the byte array
}
Когда вы загружаете JPG в BitmapData
фактически распаковывает данные JPG. Вот почему вы не можете сохранить его напрямую... JPG больше не является JPG, это несжатый битовый образ в этот момент. Вы также можете загрузить BitmapData непосредственно из ByteArray
, так что вы также можете отобразить изображение, если вам нужно.