java - 重命名 multipartFile 时出现 OutOfMemoryError
问题描述
在上传之前,我需要重命名一个 mutipartFile。
我曾经MockMultipartFile
重命名它,但OutOfMemoryError
因为它是一个大文件并MockMultipartFile
加载而发生multipartFile.getBytes()
。
还有其他解决方案吗?
我的代码是:
multipartFile = new MockMultipartFile(mf.getName(), "nomFichier", mf.getContentType(),mf.getBytes());
解决方案
在处理文件上传时,尤其是大文件,文件应该作为流处理,例如使用 MockMultipartFile.getInputStream()。错误的做法是将整个事情吸入记忆中;就像使用您描述的 getBytes() 方法一样。
推荐阅读
- python-3.x - 如何使用层次聚类预测新观察的聚类标签?
- excel - Set Word = GetObject(, "Word.Application") 在一个子中有效,但在同一文档的其他子中无效
- android - 在 Android 应用程序上找不到带有预填充数据库表的 React-Native SQLite
- java - LocalStackContainer 集成测试 lambda
- angular - 使用 Azure DevOps 将我的 Angular Universal (SSR) 上传到 Azure 的问题
- r - R googlesheets4 将令牌作为参数传递给 read_sheet
- docker - 带有烧瓶和postgres的容器之间的通信错误
- sql - 使用 TCL 删除变量
- java - 使用 Java Stream API 收集到地图
- javascript - 删除数组中的索引 - React.js