我必须浏览并在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对象。
在打开文件参考后,没有“路径”成员暴露,任何想法?
答案 0 :(得分: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应用程序中上传文件。