繁体   English   中英

使用Spring从HTML页面下载文件

[英]Download a file from HTML Page Using Spring

我想从前端下载文件。 该文件在TestFlow.generateReportTestFlow.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM