我正在使用以下方法将MultipartFile转换为文件:
public File convert(MultipartFile file) throws IOException {
File convFile = new File(file.getOriginalFilename());
convFile.createNewFile();
FileOutputStream fos = new FileOutputStream(convFile);
fos.write(file.getBytes());
fos.close();
return convFile;
}
哪个工作没问题但是对于大文件我得到了这个例外:
java.lang.OutOfMemoryError: Java heap space
我添加了更多堆但仍然有错误.
那么是否有一种编程方式来解决这个问题,可能会在转换时将多部分文件拆分为较小的块,但我不确定如何对其进行编码.
任何帮助或建议将不胜感激.
解决方法:
MultipartFile是否属于Spring的包org.springframework.web.multipart?如果是这样,你可以做到
public File convert(MultipartFile file) throws IOException {
File convFile = new File(file.getOriginalFilename());
convFile.createNewFile();
try(InputStream is = file.getInputStream()) {
Files.copy(is, convFile.toPath());
}
return convFile;
}