Reputation: 47280
Testing a spring file upload form, the controlelr signature looks like this
@RequestMapping(value = "upload", method = RequestMethod.POST)
@ResponseBody
public void upload(@RequestParam("file") MultipartFile multipartFile) {}
and the test this
final MockMultipartFile file
= new MockMultipartFile("content", "myFile.txt", "text/plain", "hello".getBytes());
MockHttpServletRequestBuilder mockHttpServletRequestBuilder =
.fileUpload("/upload/")
.file(file)
.accept(MediaType.APPLICATION_JSON);
but I get the aforementioned : Error message = Required MultipartFile parameter 'file' is not present
Upvotes: 5
Views: 7221
Reputation: 4102
You named the parameter as "file" and not as "content":
Change:
new MockMultipartFile("content", "myFile.txt", "text/plain", "hello".getBytes());
To:
new MockMultipartFile("file", "myFile.txt", "text/plain", "hello".getBytes());
Upvotes: 11