我正在使用以下方法将 MultipartFile 转换为 File :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我添加了更多堆,但仍然有错误。那么是否有一种编程方法可以解决这个问题,可能在转换时将多部分文件拆分为较小的块,但我不确定如何对其进行编码。任何帮助或建议将不胜感激。
3 回答
临摹微笑
TA贡献1982条经验 获得超2个赞
是否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;
}
交互式爱情
TA贡献1712条经验 获得超3个赞
如何使用 transferTo:
public File convert(MultipartFile file) throws IOException
{
File convFile = new File(file.getOriginalFilename());
file.transferTo(convFile);
return convFile;
}
添加回答
举报
0/150
提交
取消