我正在使用FileSaver.js通过以下代码下载文件。该文件会自动下载到默认文件夹(在Chrome中经过测试),但我需要显示一个窗口对话框,上面写着“另存为文件...”。谢谢!
var blob = new Blob([data], {type: "application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet"});
saveAs(blob, "file.xlsx");
答案 0 :(得分:1)
我需要显示一个窗口对话框,其内容类似于“另存为 文件...”。谢谢!
要整体解决您的问题,建议您使用prompt method,它会提示用户对话框以保存文件名。
此外,还有许多用于自定义对话框的库,例如我在AlertifyJS中使用的SweetAlert2或Flat Design Character Maker。
这是prompt method的简单示例。
saveFile.onclick = function() {
var filename = prompt("Define your file name.");
if (filename) {
alert("File saved!");
} else {
alert("Save canceled!");
}
}
<button id="saveFile">Save file</button>
答案 1 :(得分:0)
您正在谈论的此对话框是特定于浏览器设置的。例如,在Google Chrome浏览器的Settings/Advanced/Downloads
部分中,您有一个设置:
Ask where to save each file before downloading
,您可以设置true/false
。
如果禁用此设置,它将始终询问您并打开SaveAs
对话框。
希望这会有所帮助。