在我的页面上,我生成一个文本文件,必须将其保存到用户的计算机上。它工作正常,但我的问题是浏览器显示了“保存”文件对话框(Firefox和Chrome,Edge以自己的方式响应)。使用此对话框,将设置文件名,并且用户无法选择目标目录。
我想要的是与用户右键单击链接并选择“另存为”相同的对话框。我该如何实现?
var data = 'this is test data';
var type = 'text/plain';
var filename = 'test.txt'
var file = new Blob([data], {
type: type
});
if (window.navigator.msSaveOrOpenBlob) { // IE10+
window.navigator.msSaveOrOpenBlob(file, filename);
} else { // Others
var a = document.createElement("a"),
url = URL.createObjectURL(file);
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
setTimeout(function() {
document.body.removeChild(a);
window.URL.revokeObjectURL(url);
}, 0);
}
您可以在这里看到一个小提琴:https://jsfiddle.net/k37zjxcq/2/