Actionscript 3 从URLLoader到FileStream(反之亦然)
我有一个通过URL加载器硬编码文件的功能,但我希望能够在Air应用程序中从硬盘上的任何位置选择文件Actionscript 3 从URLLoader到FileStream(反之亦然),actionscript-3,air,filestream,urlloader,Actionscript 3,Air,Filestream,Urlloader,我有一个通过URL加载器硬编码文件的功能,但我希望能够在Air应用程序中从硬盘上的任何位置选择文件 public function loadFile(): Array { csv = new URLLoader(); csv.addEventListener(Event.COMPLETE, completeHandler); csv.load(new URLRequest('carelinksample.csv')); re
public function loadFile(): Array {
csv = new URLLoader();
csv.addEventListener(Event.COMPLETE, completeHandler);
csv.load(new URLRequest('carelinksample.csv'));
return results;
}
当然,completeHandler会根据需要将URLRequest中的数据放入数组中。但是我想用某种Filestream命令替换新的URLRESQUEST(或者如果有其他方法可以用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();
});
此代码应满足您的需要:
private var _ref : FileReference;
private function browse() {
_ref = new FileReference();
_ref.addEventListener(Event.SELECT, onSelect);
_ref.browse([new FileFilter("CSV File", "*.csv")]);
}
private function onSelect(event : Event) : void {
_ref.addEventListener(Event.COMPLETE, onData);
_ref.load();
}
private function onData(event : Event) : void {
parse(_ref.data.readUTFBytes(_ref.data.bytesAvailable));
}
private function parse(data : String) : void {
}
此代码应满足您的需要:
private var _ref : FileReference;
private function browse() {
_ref = new FileReference();
_ref.addEventListener(Event.SELECT, onSelect);
_ref.browse([new FileFilter("CSV File", "*.csv")]);
}
private function onSelect(event : Event) : void {
_ref.addEventListener(Event.COMPLETE, onData);
_ref.load();
}
private function onData(event : Event) : void {
parse(_ref.data.readUTFBytes(_ref.data.bytesAvailable));
}
private function parse(data : String) : void {
}
只需添加
chooseFile
作为单击某些可视元素的侦听器只需添加chooseFile
作为单击某些可视元素的侦听器