强制文件保存对话框

Force file save dialog

我在尝试强制浏览器打开文件保存对话框时遇到问题。我正在使用 Content-Disposition header 和附件,我还使用了 <a> 标签的 download 属性。问题是当在浏览器选项中选择了默认的下载目录时,该对话框不会出现。目前我在 Chrome 工作。

这是我如何尝试让浏览器显示对话框的快照:

var csvUrl = document.createElement('a');
csvUrl.href = url;
csvUrl.download = filename;
csvUrl.click();

这是我从服务器返回文件的方式(使用 Apache CXF):

return Response.ok(csvData.toString())
               .header("Content-Disposition", "attachment; filename=" + filename)
               .build();

提前致谢!

很遗憾,这是不可能的,您不能强制 Chrome 显示对话框。您唯一能做的就是向 Chrome 用户显示通知,例如 "If no save dialog box appears, check your downloads folder, your file might already be there!"