我正在使用spring的AbstractXlsxView下载大文件。 下面是AbstractXlsxView实现和控制器方法的代码。
class ExcelView extends AbstractXlsxView {
@Override
protected void buildExcelDocument(Map<String, Object> map, Workbook workbook,
HttpServletRequest request, HttpServletResponse response) throws Exception {
//logic here...
}}
class ExportController {
@PostMapping("/report.xlsx")
public View downloadReport() throws SQLException {
ExcelView view = exportDataService.getReport();
return view;
}}
通过这种方法,我遇到大文件(〜1GB)的堆内存不足错误。有什么办法可以修改此方法以容纳大文件(写入输出流而不是将所有内容存储在内存中)?