Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring引导中不存在所需的请求部分“文件”_Spring_Spring Boot_Spring Mvc_Spring Restcontroller_Spring Rest - Fatal编程技术网

Spring引导中不存在所需的请求部分“文件”

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中添加消费; 尝试

我检查了所有的模拟帖子,仍然找不到解决办法

问题是测试类中不存在请求部分“文件”

我想上传一个文件并保存到数据库。这是我的rest控制器@RestController:

我的application.yml如下所示:

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) {
    ...
}