0

我知道使用 AIR AS3CameraRoll addBitmapData()我可以将拍摄的图像存储到设备的专用媒体库中。

现在的问题是:有没有办法为我的应用程序创建一个单独的可浏览文件夹,以使用该方法添加图像?或者有没有其他方法可以将我想要存储的图像与其他图像分开?

编辑:所以这就是我最终完成它的方式:

var imageFile:File = File.documentsDirectory.resolvePath("DCIM/yourfolder/");
if(!imageFile.exists) imageFile.createDirectory();
imageFile = imageFile.resolvePath("yourfile.jpg");

var fileStream:FileStream = new FileStream();
fileStream.open(imageFile, FileMode.WRITE);
fileStream.writeBytes(byteArray);
fileStream.close();
4

1 回答 1

1

AIR 将允许您访问本地文件系统。您可以使用File具有一系列特定于空气的参数的 flash 本机类,以允许在没有对话框的情况下保存和移动文件,并且安全限制要少得多。标准save功能将在没有空气的情况下工作,但坚持一个对话框。

官方文档在这里: http ://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filesystem/File.html

我已经在我写的一个旧的照相亭应用程序中实现了这一点......我会尝试挖掘它并发布我所拥有的。

编辑:

首先,库如下:

adobe.air.filesystem.*;
adobe.air.filesystem.events.*;

这是 AIR 工具的样子:

function saveMyFile(){

var imgFile:String 
// however you define your filename;
var f:File=File.desktopDirectory.resolvePath("myfolder/" + imgFile); 
//defines the directory, attaches the filename
var s:FileStream=new FileStream();
//creates the filestream

s.open(f, FileMode.WRITE);
s.writeBytes(jpgStream); 
// in this case jpgStream was bitmapData var compiled from a screenshot
s.close();
}

我只需要导航到桌面上的一个文件夹,但我确信有更彻底的方法可以深入挖掘。

于 2013-03-08T19:24:46.087 回答