我使用带有java 1.8的springboot 1.5.4.RELEASE,我创建了一个允许从restController下载文件的控制器,这是我的代码:
@RequestMapping(value = "/validar/{hash}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
public @ResponseBody byte[] getArquivoFromHash(@PathVariable String hash) throws IOException {
return IOUtils.toByteArray(protocoloService.recuperarArquivoCertidaoAssinado(hash));
}
和我的recuperarArquivoCertidaoAssinado从文件中返回一个FileInputStream
所以当我尝试下载一个大文件(类似50MB)时,我得到了堆空间
java.lang.OutOfMemoryError:Java堆空间