javascript-如何使用文件名导出csv文件

我想将现有数据导出到csv文件中.我尝试使用以下代码:

var uriContent = "data:text/csv;charset=utf-8," + encodeURIComponent(data);
var myWindow = window.open(uriContent);
myWindow.focus();

它可以工作,但是我可以设计文件名.我只能获得名称不明的对话框,例如“ MVeAnkW8.csv.part”.

如何在第一个对话框中分配文件名?提前致谢.

更新:

我现在正在使用滑轨.实际上,我在服务器端名称export_to_csv中有一个方法.在此方法的最后,我使用如下代码:

  send_data(csv_string,
  :type => 'text/csv; charset=utf-8;',
  :filename => "myfile.csv")

它可以工作,我可以指定文件名.
现在,我想使用ajax来获取更多的csv文件(这就是我要使用javascript的原因,因为普通的http请求只能获取一个文件进行下载).

我使用这样的js代码:

$.post("export_to_csv",
 function(data) {
 var uriContent = "data:text/csv;charset=utf-8," + encodeURIComponent(data);
     var myWindow = window.open(uriContent);
     myWindow.focus();});     

它从服务器端获取数据,我尝试将其传输到csv中.我可以获取文件,但无法指定文件名.

解决方法:

据我所知,您只能在chrome 14中指定文件名.
看一下这个问题:Is there any way to specify a suggested filename when using data: URI?

更新!

如果要“一次”下载多个csv文件,则可以将它们压缩在一起,或将每个文件分别保存在服务器上(每个文件现在都有指向它的网址-如果将它们放在“ www”文件夹中) .
然后通过ajax将文件名及其路径/ URL发送给客户端(例如,使用json编码的列表).
在ajax回调函数中:获取文件列表,并在单独的弹出窗口中打开每个文件URL.

上一篇:php-wget返回下载的文件名


下一篇:当文件名较长时,Python的os.walk()在Windows中失败