Flex - 如何将字符串变量作为文件下载到本地机器?

问题描述:

我在我的Flex(Flash Builder 4)应用程序包含CSV数据中有一个字符串变量。我需要允许用户将这些数据下载到本地文件。例如,给他们一个“csv”按钮来点击,它可能会显示一个保存文件对话框(我将发送我的字符串变量的内容)。Flex - 如何将字符串变量作为文件下载到本地机器?

这可能/如何?

我正在使用ResuableFX组件为csv数据网格。这是我结束了代码工作,以节省字符串为用户的文本文件(在web浏览器):

var dg2CSV:DataGrid2CSV = new DataGrid2CSV(); 
dg2CSV.includeHeader=true; 
dg2CSV.target=adgEncounters; 
var csvText:String=dg2CSV.getCSV(); 

var MyFile:FileReference = new FileReference(); 
var csvFileNameDT:String = QuickDateFormatter.format(new Date().toString(),"YYYYMMDDJJNNSS"); 
MyFile.save(csvText,"Encounters"+csvFileNameDT+".csv"); 

如果在AIR应用程序是可以使用的文件。 browseForSave()

如果您使用的是网络应用,则可以使用FileReference.save()FileReference文档有更多关于此的信息。

在很多情况下,我会建议使用navigateToURL()在Flash之外打开文件并让浏览器处理它。

我不确定是否有办法在没有用户交互的情况下执行此操作。