2

我需要从移动 android 的 sd 卡中创建的应用程序目录中的文件夹加载图像

这在PC上有效,但在移动版本中无效

一些解决方案?

var imagesFin:File = File.applicationStorageDirectory.resolvePath("appImages/");
var files:Array = imagesFin.getDirectoryListing();

 for (var i:uint = 0; i < files.length; i++){


  var picLoader = new Loader();
  picLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadPicture);
  picLoader.load(new URLRequest(files[i].nativePath));

 }
 function loadPicture(event:Event):void {

 var imgAtual = event.target.content;
 ContainerImagesList.addChild(imgAtual);
}
4

2 回答 2

1

这对我有用:

var bytes:ByteArray = new ByteArray();
var myFileStream:FileStream = new FileStream();
var myFile:File = File.documentsDirectory.resolvePath(YOUR_PATH);

myFileStream.addEventListener(Event.COMPLETE, fileCompleteHandler)
myFileStream.openAsync(myFile, FileMode.READ);

function fileCompleteHandler(event:Event):void 
{
    myFileStream.readBytes(bytes);

    var loader:Loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded);
    loader.loadBytes(bytes);

    function imageLoaded(e:Event):void
    {
        addChild(Bitmap(loader.content));
        myFileStream.removeEventListener(Event.COMPLETE, fileCompleteHandler);
        myFileStream.close();
    }
}

干杯!

于 2014-02-07T16:59:00.270 回答
0

在 iOS 中,我从不使用 resolvePath。我只是使用像“images/photo.jpg”这样的相对 URL,它可以在任何 iOS 设备上完美运行。

除了 resolvePath,您还可以使用 URL 方案。它比“app:/images/photo.jpg”或“app-storage:/settings/prefs.xml”要简单得多。

http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118666ade46-7fe4.html

这就是我在图像文件缓存中获取所有图像的方法

var imageFolder:File = new File("app:/img");
var getfiles:Array = imageFolder.getDirectoryListing();
于 2013-03-21T17:57:38.093 回答