Javascript文件下载在Firefox上失去扩展名

时间:2017-06-30 10:41:09

标签: javascript file firefox download

我有这个函数用于在javascript中下载文件。

function downloadURIXML(uri, name) {
     name = name.replace(/[^A-Za-z0-9 \-\_]/, "");

     var link = document.createElement("a");
     link.download = name;
     link.href = uri;
     document.body.appendChild(link);
     link.click();
     setTimeout(function() {document.body.removeChild(link);}, 50);
}

假设我有一个名为“test.docx”的文件,我想下载它。我打电话给

downloadURIXML(pathToFile, 'mynewfilename');

我希望文件下载文件名:mynewfilename.docx

在Chrome上,它可以正常运行,但在Firefox上文件扩展名已丢失。它出了什么问题?

1 个答案:

答案 0 :(得分:0)

link.download = name

应提供带扩展名的文件名,即'mynewfilename.docx'。 因此,您应该重新考虑您的函数参数以及name.replace,因为它会删除.

你可以看到即使是w3schools的例子也没有在firefox浏览器中提供扩展名。