[英]Download a file from HTML Page Using Spring
我想从前端下载文件。 该文件在TestFlow.generateReport
上TestFlow.generateReport
我的游戏运行到最后,但没有下载任何内容。 我在这里想念什么?
@RequestMapping(value = "/flow/generate-report" , method = RequestMethod.GET)
public @ResponseBody void generateFlowReport(@RequestParam("flowName") String flowName, HttpServletResponse response) {
InputStream resource = TestFlow.generateReport(flowName);
response.setContentType("application/force-download");
response.setHeader("Content-Disposition","attachment; filename=report-" + flowName + ".xlsx");
try {
IOUtils.copy(resource,response.getOutputStream());
response.flushBuffer();
resource.close();
} catch (IOException e) {
e.printStackTrace();
}
}
原始AJAX请求无法处理文件下载请求。 您必须创建一个虚拟表单。 看到这个问题 。 并且有很多jQuery插件可以帮助您做到这一点。
并且由于它是一个下载请求,因此您的控制器方法不应使用@ResponseBody
,自己接管所有响应,并在编写内容后将其关闭。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.