Java 重命名多部分文件时发生OutOfMemoryError

Java 重命名多部分文件时发生OutOfMemoryError,java,spring,spring-boot,Java,Spring,Spring Boot,我需要在上传一个multipart文件之前重命名它 我使用了MockMultipartFile重命名它,但是发生了outofmemory错误,因为它是一个大文件,并且MockMultipartFile加载multipartFile.getBytes() 还有别的解决办法吗 我的代码是: multipartFile = new MockMultipartFile(mf.getName(), "nomFichier", mf.getContentType(),mf.getBytes()); 在处理

我需要在上传一个multipart文件之前重命名它

我使用了
MockMultipartFile
重命名它,但是发生了
outofmemory错误
,因为它是一个大文件,并且
MockMultipartFile
加载
multipartFile.getBytes()

还有别的解决办法吗

我的代码是:

multipartFile = new MockMultipartFile(mf.getName(), "nomFichier", mf.getContentType(),mf.getBytes());

在处理文件上载时,尤其是大型文件上载时,应将文件作为流进行处理,例如使用MockMultipartFile.getInputStream()。做这件事的错误方法是把整件事都记在记忆里;正如使用您描述的getBytes()方法一样。

不应使用
MockMultipartFile
,因为这仅用于测试。名称是表单的一部分,只需发送另一个名称即可。感谢您的回复,我使用.getInputStream()时遇到了同样的问题