actionScript 3 filereference «сохранить» выдает ошибку - PullRequest
3 голосов
/ 02 апреля 2012

У меня есть код, который локально сохраняет экранный объект в виде файла изображения, но в какой-то момент он начал выдавать ошибку 2174. Этот код вызывается либо из события щелчка контекстного меню, либо из события клавиатуры.

var sourceBmd:BitmapData = new BitmapData(displayObject.width,displayObject.height);            
sourceBmd.draw(displayObject,new Matrix(displayObject.width,0,0,displayObject.height));
var jpgEncoder:JPGEncoder = new JPGEncoder(80);
var byteArray:ByteArray = jpgEncoder.encode(sourceBmd);
try
{
    filereference.save(byteArray,"posterImage.jpg");    
}
catch (e:Error)
{
    Debugging.alert("error: ",e.message);           
}

Как вы можете видеть, ссылка на файл имеет только одно действие - поэтому нет причины для появления ошибки 2174. если вам интересно - я публикую для флеш плеера 10.0

ОБНОВЛЕНИЕ: я обнаружил, что это связано с версией флеш-плеера: на 10.3 он работает, а на 11.1 - если не получается.

есть идеи? веселит, eRez

Ответы [ 3 ]

0 голосов
/ 02 апреля 2012

прочитав документы , я могу предположить:

  1. вы работаете во флеш-плеере 10
  2. вы не звоните filereference.cancel()в тех случаях, когда пользователь нажимает «отменить» или «закрыть» в открывшемся диалоговом окне;попробуйте
0 голосов
/ 02 апреля 2012

Решает ли эта ссылка вашу проблему?

Кроме того, вы пытались перезапустить Flash IDE после возникновения ошибки?

...