2
我将AIR应用移植到iOS。应用程序将本地文件保存为File.browseForSave()
。这似乎不适用于iPad。如何在iPad上保存文件?ipad上的File.browseForSave()
P.S.跟踪File.url
说“app-storage:/New%20map.comap”。 iOS中不允许带%的名字?
最好的祝愿
我将AIR应用移植到iOS。应用程序将本地文件保存为File.browseForSave()
。这似乎不适用于iPad。如何在iPad上保存文件?ipad上的File.browseForSave()
P.S.跟踪File.url
说“app-storage:/New%20map.comap”。 iOS中不允许带%的名字?
最好的祝愿
您只能保存到应用程序沙箱区域内的特定目录。例如文档目录。
像这样的东西将图像保存到文档目录。它使用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;
}
这在iOS上是不可能的! 这是一个重复http://stackoverflow.com/questions/9374077/file-browseforsave-on-ios/9375371#9375371 – 2012-03-15 15:46:46
是的,我知道。我的同事提出了以前的问题,但建议并没有帮助。 – Kakadu 2012-03-16 09:56:34
我不明白你的评论。哪些建议没有奏效?没有建议...只是BrowseForSave不允许在iOS上。您仍可以保存路径而不浏览,但只能在具有正确权限的正确文件夹中保存。 – 2012-03-16 21:45:01