4
如何通过弹簧控制器提供大文件下载?我跟着类似的话题讨论数:Spring MVC:大文件下载,OutOfMemoryException
Downloading a file from spring controllers
,但这些解决方案未能对大文件〜300MB - 600MB。 我收到OutOfMemoryException异常的最后一行:
@RequestMapping(value = "/file/{dummyparam}.pdf", method = RequestMethod.GET, produces=MediaType.APPLICATION_OCTET_STREAM_VALUE)
public @ResponseBody byte[] getFile(@PathVariable("dummyparam") String dummyparam, HttpServletResponse response) {
.
.
InputStream is = new FileInputStream(resultFile);
response.setHeader("Content-Disposition", "attachment; filename=\"dummyname " + dummyparam + ".pdf\"");
.
.
return IOUtils.toByteArray(is);
我的(幼稚)的假设是,IOUtils将处理即使是大文件,但是这不是明显的发生。有什么办法如何下载正在进行的文件分割成块?文件通常大约300-600mb大。最大并发下载量估计为10.
简单的方法是将文件链接为web服务器目录中的静态内容,但我们希望尝试在我们的Spring应用程序中执行此操作。