我正在使用 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/