带对话框的FileSaver.js

时间:2018-07-28 20:09:46

标签: javascript client-side filesaver.js

我正在使用FileSaver.js通过以下代码下载文件。该文件会自动下载到默认文件夹(在Chrome中经过测试),但我需要显示一个窗口对话框,上面写着“另存为文件...”。谢谢!

var blob = new Blob([data], {type: "application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet"});
saveAs(blob, "file.xlsx");

2 个答案:

答案 0 :(得分:1)

  

我需要显示一个窗口对话框,其内容类似于“另存为   文件...”。谢谢!

要整体解决您的问题,建议您使用prompt method,它会提示用户对话框以保存文件名。

此外,还有许多用于自定义对话框的库,例如我在AlertifyJS中使用的SweetAlert2Flat 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对话框。

希望这会有所帮助。