File.browseForSave () на ipad - PullRequest
       5

File.browseForSave () на ipad

2 голосов
/ 15 марта 2012

Я портирую приложение AIR на iOS.Приложение сохраняет документ локально с File.browseForSave().Это, кажется, не работает на iPad.Как сохранить файлы на iPad?

PS tracing File.url говорит "app-storage: /New%20map.comap".Может быть, имена с% не разрешены на iOS?

С наилучшими пожеланиями

1 Ответ

0 голосов
/ 15 марта 2012

Вы можете сохранить только в определенных каталогах в изолированной области приложения. например Каталог документов.

Примерно так сохраняет изображение в каталоге документов. Он использует Adobe JPGEncoder для создания записанного байтового массива и метод кадрирования для создания снимка этапа.

private function createImages():void {

    var snapShot:Bitmap = crop(0, 0, 1024, 768);

    f = File.documentsDirectory.resolvePath("test.jpg"); 

    var stream:FileStream = new FileStream();
    stream.open(f, FileMode.WRITE);                                         

    var j:JPGEncoder = new JPGEncoder(80);

    var bytes:ByteArray = new ByteArray();
    bytes = j.encode(snapShot.bitmapData);

    stream.writeBytes(bytes, 0, bytes.bytesAvailable);
    stream.close();

    stream.openAsync(f, FileMode.READ); 
    stream.addEventListener(Event.COMPLETE, imagewritten, false, 0, true);   


}

private function imagewritten(e:Event):void {
trace("done");
}



private function crop( _x:Number, _y:Number, _width:Number, _height:Number, displayObject:DisplayObject = null):Bitmap
{

var cropArea:Rectangle = new Rectangle( 0, 0, _width, _height );

var croppedBitmap = new Bitmap( new BitmapData( _width, _height ), PixelSnapping.ALWAYS, true );

croppedBitmap.bitmapData.draw( (displayObject!=null) ? displayObject : stage, new Matrix(1, 0, 0, 1, -_x, -_y) , null, null, cropArea, true );

cropArea = null;

return croppedBitmap;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...