Spring引导中不存在所需的请求部分“文件”
我检查了所有的模拟帖子,仍然找不到解决办法 问题是测试类中不存在请求部分“文件” 我想上传一个文件并保存到数据库。这是我的rest控制器@RestController: 我的application.yml如下所示:Spring引导中不存在所需的请求部分“文件”,spring,spring-boot,spring-mvc,spring-restcontroller,spring-rest,Spring,Spring Boot,Spring Mvc,Spring Restcontroller,Spring Rest,我检查了所有的模拟帖子,仍然找不到解决办法 问题是测试类中不存在请求部分“文件” 我想上传一个文件并保存到数据库。这是我的rest控制器@RestController: 我的application.yml如下所示: spring: servlet: multipart: enabled: true max-file-size: 2MB max-request-size: 10MB 我试图在@PostMapping中添加消费; 尝试
spring:
servlet:
multipart:
enabled: true
max-file-size: 2MB
max-request-size: 10MB
我试图在@PostMapping中添加消费;
尝试按字面意思设置每个媒体类型。。仍然会得到一个错误
感谢您的回答。问题在于MockMultipartFile的声明,第一个参数应该与controller@RequestParam param匹配。因此,在您的情况下,应该是:
MockMultipartFile file = new MockMultipartFile("file", "url", MediaType.APPLICATION_JSON_VALUE, image);
此外,我建议将控制器方法更新为以下方法:
@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<LogoDto> uploadLogo(@RequestPart("file") MultipartFile multipartFile) {
...
}
问题在于MockMultipartFile的声明中,第一个参数应该与controller@RequestParam param匹配。因此,在您的情况下,应该是:
MockMultipartFile file = new MockMultipartFile("file", "url", MediaType.APPLICATION_JSON_VALUE, image);
此外,我建议将控制器方法更新为以下方法:
@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<LogoDto> uploadLogo(@RequestPart("file") MultipartFile multipartFile) {
...
}