从Spring控制器下载文件

从Spring控制器下载文件

我有一个要求,我需要从网站下载PDF。PDF需要在代码中生成,我认为这将是一个共济会者和PDF生成框架(如iText)的组合。有更好的方法吗?

但是,我的主要问题是如何允许用户通过SpringController下载文件?


慕容3067478
浏览 619回答 3
3回答

慕桂英3389331

我能够通过使用Spring内置的支持和它的ResourceHttpMessage转换器来流这一行。这将设置内容长度和内容类型(如果可以确定MIME类型)。@RequestMapping(value = "/files/{file_name}", method = RequestMethod.GET)@ResponseBodypublic FileSystemResource getFile (@PathVariable("file_name") String fileName) {     return new FileSystemResource(myService.getFileFor(fileName)); }

慕的地10843

您应该能够直接在响应上写入文件。有点像response.setContentType("application/pdf");      response.setHeader("Content-Disposition", "attachment; filename=\"somefile.pdf\"");然后将文件作为二进制流写入response.getOutputStream()..记住要做response.flush()到了最后,这应该就行了。
打开App,查看更多内容
随时随地看视频慕课网APP