2013-03-08 66 views
0

我知道使用AIR AS3 CameraRoll addBitmapData()我能够将拍摄的图像存储到设备的专用媒体库。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

我添加了我的代码以及下面... esse几乎相同的东西......只是看到你的编辑! – MaxG 2013-03-12 21:11:05

回答

1

AIR将允许您访问您的本地文件系统。您可以使用闪存本地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(); 
} 

我只是导航到一个文件夹我的桌面,但我敢肯定有更深入的方法来挖掘。

相关问题