【发布时间】:2016-02-23 09:45:52
【问题描述】:
我有一个字符串数组,其中每个对象都有逗号分隔和换行符。现在我想将这些字符串对象写入多个 CSV 文件。但我只能写一个 CSV 文件,如下所示:-
/**
* callback method for exportCollection, results are in format of Map<String, String>
**/
protected function exportListResultHandler(event:ResultEvent):void {
if (event.result != null )
{
for (var key:* in event.result) {
var value:String=event.result[key];
var fileName:String=key;
exportStringToFile(value.toString(), fileName);
}
}
}
private function exportStringToFile(stringToExport:String, filename:String=null):void
{
//file refernce for import/export functionality.
var fileRef:FileReference = new FileReference();
try{
fileRef.addEventListener(Event.COMPLETE, finishUpload);
fileRef.addEventListener(IOErrorEvent.IO_ERROR, handleError);
fileRef.save(stringToExport, filename);
}catch (error:Error){
logger.error("Unable to save file. Error: ", error);
}
我现有的代码不允许我使用 flash.filesystem 包中的 File 类。甚至 FileReference 数组也没有帮助我。我想在一个位置保存多个文件。
我是 Adobe flex 和 flash builder 的新手,任何帮助都会很棒。非常感谢
【问题讨论】:
-
我猜你的代码看起来不错 - 如果你的结果中有多个键,它应该保存多个文件。那么究竟是什么不工作?您是否尝试过调试并查看结果中是否有多个不同的键?
-
Kishore,出于安全原因,浏览器应用程序不能一次保存多个文件。最终用户必须通过弹出对话框选择在每个文件上单击“保存”。这是您的选择,否则,按照建议,制作一个 zip 文件。还有为什么不
var value:String = String(event.result[key]);?尝试在这两个函数中使用trace来检查是否有多个条目通过。
标签: actionscript-3 flash flex4.5 mxml