将 spring 从旧版本升级到 Spring 6.0.4 后
我注意到这个文件已经移动:
从这里(Spring docs 4.3.x for CommonsMultipartFile
6.0.4 上的 web 没有公共资源不再就像 4.3.x 那样
这个文件移到哪里了?
我尝试将其包含在我的 pom 中,但没有帮助
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
UPDATE
将 spring-web 版本从 6.0.0 降低到 5.3.25 解决了该问题
但是 5.3.25 有漏洞
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<!-- version>${spring.version}</version !-->
<!-- some issue CommonsMultipartFile is missing starting with v 6.0.0 !-->
<version> version>
</dependency>
As per https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-6.x6月春季
一些过时的基于 Servlet 的集成已被删除:例如Apache Commons FileUpload (org.springframework.web.multipart.commons.CommonsMultipartResolver)
...
我们推荐 org.springframework.web.multipart.support.StandardServletMultipartResolver 进行多部分文件上传
明显地CommonsMultipartFile
也消失了。
您可以删除commons-fileupload
来自您的项目和控制器的依赖项您可以使用MultipartFile
其方法几乎与CommonsMultipartFile
做了,或者MultipartHttpServletRequest
:
@RestController
class MyController {
@PostMapping(path = "/upload)
public ResponseEntity<SomeResult> upload(... , @RequestPart MultipartFile file1) {
...
}
@PostMapping(path = "/upload2")
public ResponseEntity<SomeResult> upload2(MultipartHttpServletRequest request,
...) {
MultipartFile multipartFile = request.getFile("file1");
InputStream inputStream = multipartFile.getInputStream();
...
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)