我有一个功能可以处理通过 URL Loader 硬编码的文件,但我希望能够在 Air 应用程序中从硬盘上的任何位置选择文件。
public function loadFile(): Array {
csv = new URLLoader();
csv.addEventListener(Event.COMPLETE, completeHandler);
csv.load(new URLRequest('carelinksample.csv'));
return results;
}
当然,completeHandler 将 URLRequest 中的数据放入我需要的数组中。但我想用某种 Filestream 命令替换新的 URLRequest(或者如果有另一种方法可以使用 Air 选择本地文件)。
我有这段代码来加载本地文件,但我不完全确定如何处理它才能让它与我在 URLLoader 中的内容一起工作
private var filetype:FileFilter = new FileFilter("CSV Files(*.csv)","*.csv");
public function chooseFile(event:MouseEvent):void {
var f:File = File.desktopDirectory;
f.browseForOpen("Select file to open", [filetype]);
f.addEventListener(Event.SELECT, function (event:Event):void {
var fs:FileStream = new FileStream();
fs.open(event.target as File, FileMode.READ);
fs.close();
});