【问题标题】:Error message = Required MultipartFile parameter 'file' is not present错误消息 = 所需的 MultipartFile 参数“文件”不存在
【发布时间】:2013-09-20 22:29:51
【问题描述】:

测试一个spring文件上传表单,controlelr签名是这样的

@RequestMapping(value = "upload", method = RequestMethod.POST)
@ResponseBody
public void upload(@RequestParam("file") MultipartFile multipartFile) {}

然后测试一下

final MockMultipartFile file 
  = new MockMultipartFile("content", "myFile.txt", "text/plain", "hello".getBytes());

MockHttpServletRequestBuilder mockHttpServletRequestBuilder = 
  .fileUpload("/upload/")
  .file(file)
  .accept(MediaType.APPLICATION_JSON);

但我得到了上述内容:错误消息 = 所需的 MultipartFile 参数“文件”不存在

【问题讨论】:

  • 您在测试中调用构造函数时将其命名为“内容”。
  • @Bart 谢谢,这是我生命中的十五分钟,我永远不会回来

标签: java spring unit-testing spring-mvc-test


【解决方案1】:

您将参数命名为“文件”而不是“内容”:

变化:

new MockMultipartFile("content", "myFile.txt", "text/plain", "hello".getBytes());

收件人:

new MockMultipartFile("file", "myFile.txt", "text/plain", "hello".getBytes());

【讨论】:

  • 将文件命名为“文件”。天才!
猜你喜欢
  • 2014-05-08
  • 1970-01-01
  • 2017-02-12
  • 1970-01-01
  • 1970-01-01
  • 2021-04-12
  • 2018-04-05
  • 2015-06-11
  • 2014-09-10
相关资源
最近更新 更多