强制文件保存对话框

时间:2017-01-18 10:24:41

标签: javascript jquery angularjs jax-rs cxf

我在尝试强制浏览器打开文件保存对话框时遇到问题。我正在使用Content-Disposition标头和附件,我也使用download标记的<a>属性。问题是当在浏览器选项中选择了下载的默认目录时,不会出现对话框。目前我在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();

提前致谢!

1 个答案:

答案 0 :(得分:1)

不幸的是,这是不可能的,你不能强迫Chrome显示对话框。您唯一能做的就是向Chrome用户显示“如果没有出现保存对话框,请检查您的下载文件夹,您的文件可能已存在!”