0

我必须在 AIR 中浏览并打开一个文件。我可以通过 File 类访问文件:

var file:File = File.applicationStorageDirectory.resolvePath("somefile.txt");
var stream:FileStream = new FileStream();
stream.open(file, FileMode.READ);

我可以通过 FileReference 类浏览文件:

var fileRef:FileReference = new FileReference();
fileRef.browse(allTypes);

但我似乎无法将文件从 FileReference 对象获取到 File 对象中。

打开 FileReference 后调试它时没有暴露“路径”成员,有什么想法吗?

4

1 回答 1

1

您必须使用File#browseForOpen()而不是FileReference#browse(),如下所示:

private var f:File;

public function browseForRead():void {
    f = File.documentsDirectory;
    f.addEventListener(Event.SELECT, readFile); 
    f.browseForOpen("Open file");
}

private function readFile(event:Event):void {
    var stream:FileStream = new FileStream();
    stream.open(f, FileMode.READ);
    trace(stream.readUTFBytes(stream.bytesAvailable));
}

FileReference#browse()用于在 Web 应用程序中上传文件。

于 2012-04-11T09:13:10.417 回答