我有一个字符串控制器来下载xml文件,但下载窗口每次都打开..
这是我的控制器的代码:
@RequestMapping(value = "/export", method = RequestMethod.POST)
@ResponseBody
public void export(HttpServletRequest request, HttpServletResponse response) throws JsonGenerationException,
JsonMappingException, IOException, DatatypeConfigurationException {
byte[] bytes = service.exportXML(getUsername());
String xmlFileName = "filename.xml";
response.setContentType("application/force-download");
response.setHeader("Content-Length", String.valueOf(bytes.length));
response.setHeader("Content-Disposition", "attachment; filename="+xmlFileName);
response.getOutputStream().write(bytes);
}
我可以对浏览器做什么从不打开下载窗口并立即保存文件?
答案 0 :(得分:0)
从服务器端无法实现。由于安全原因,如果在浏览器中指定,浏览器将不允许自动下载文件。
例如,如果要在浏览器中自动下载并打开docx文件类型。然后查看此链接How can I open these .docx files from Chrome more quickly
希望你能理解这里的限制。
答案 1 :(得分:0)
尝试添加此内容:
response.setHeader("Content-Transfer-Encoding", "binary");
答案 2 :(得分:0)
我之前尝试过直接打开的txt文件。他们得到了保存而不是开放。