我知道使用AIR AS3 CameraRoll 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();
答案 0 :(得分:1)
AIR将允许您访问本地文件系统。您可以使用具有一系列特定于空中参数的flash本机File
类,以允许在没有对话框的情况下保存和移动文件,并且具有更少的安全限制。标准的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();
}
我只需要导航到桌面上的文件夹,但我确信有更彻底的方法可以挖掘。