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



我有一个字符串变量在我的flex (flash builder 4)应用程序包含CSV数据。我需要允许用户将这些数据下载到本地文件。例如,给他们一个"csv"按钮点击,它可能会显示一个保存文件对话框(我将发送我的字符串变量的内容)。

这可能吗?

我使用resuablelefx组件的数据网格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应用程序中,你可以使用File.browseForSave()。

如果你在一个web应用中,你可以使用filerreference .save()。filerreference文档中有更多关于这方面的信息。

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

我不确定是否有办法在没有用户交互的情况下做到这一点。

最新更新