javascript - 无法使用 Javascript 指定下载文件的名称

标签 javascript jquery html google-chrome csv

我正在使用 Javascript 创建一个 CSV 文件供用户下载。

直到 5 月 22 日,Chrome 仍然下载我指定名称的文件。然而,今天我发现下载的文件名为“download”,并没有扩展名.csv。

Firefox不存在这个问题!

这是一个fiddle使用示例 Javascript:

var A = [['n','sqrt(n)']];  // initialize array of rows with header row as 1st item
for(var j=1;j<10;++j){ A.push([j, Math.sqrt(j)]) }
var csvRows = [];
for(var i=0,l=A.length; i<l; ++i){
    csvRows.push(A[i].join(','));   // unquoted CSV row
}
var csvString = csvRows.join("\n");

var a = document.createElement('a');
a.href     = 'data:text/csv;charset=utf-8;base64,' + window.btoa(csvString);
a.target   = '_blank';
a.download = 'myFile.csv';
document.body.appendChild(a);
a.click();

最佳答案

干得好!这是回归。

我刚刚创建了另一个 fiddle , 并提交了 Chrome bug .

如果您有兴趣,请在错误跟踪器中加注星标。

<a href="/" download="my-downloaded-file.html" target="_blank">Click here</a>

编辑:看起来它取决于 URL。绝对 URL 和 objects URLs 一样有效(根据 https://code.google.com/p/chromium/issues/detail?id=376197 )。

关于javascript - 无法使用 Javascript 指定下载文件的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23860000/

相关文章:

javascript - 如何实现只选择一个 block ,而不是所有 block ?

php - 在使用 PHP Simple HTML DOM Parser 之前登录到 ASP 网站

javascript - 根据数据属性范围显示li元素

javascript - 从 JavaScript 访问 Firebase

javascript - 打开任何模型/灯箱时隐藏 YouTube

javascript - NodeJS 的连接池

javascript - HighCharts + xAxis 标签格式化程序

javascript - 从数据库检索值时未选中 Jquery mobile 复选框

javascript - 将叠加层的内容放在中间

javascript - 如何使用 PHP behat/mink selenium2 chrome webdriver 处理 javascript 警报窗口