我有这个函数用于在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上文件扩展名已丢失。它出了什么问题?
答案 0 :(得分:0)
link.download = name
应提供带扩展名的文件名,即'mynewfilename.docx'
。
因此,您应该重新考虑您的函数参数以及name.replace
,因为它会删除.
你可以看到即使是w3schools的例子也没有在firefox浏览器中提供扩展名。