我想通过param,一个对象用户和另一个多部分来创建一个web服务来接收文件。
@RequestMapping(value = "/signUpOrUpdateAvatar", method = RequestMethod.PUT, headers = "content-type=multipart/form-data")
public User signUpAvatar(@RequestHeader HttpHeaders header, @RequestPart("user") User user,
@RequestPart("file") MultipartFile file) throws LogicBusinessException {
logger.info(Thread.currentThread().getStackTrace()[1].getMethodName());
//TODO call others methods
return userRet;
}
当我尝试给我这个错误时:
{
"timestamp": 1492500929835,
"status": 400,
"error": "Bad Request",
"exception": "org.springframework.web.multipart.support.MissingServletRequestPartException",
"message": "Required request part 'file' is not present",
"path": "/signUpOrUpdateAvatar2"
}
答案 0 :(得分:2)
在java配置中添加以下bean
@Bean
public CommonsMultipartResolver multipartResolver() {
CommonsMultipartResolver cmr = new CommonsMultipartResolver();
cmr.setMaxUploadSize(10000000);
return cmr;
}
答案 1 :(得分:0)
您可能正在尝试通过其他线程获取文件数据。尝试使用具有@MultipartConfig完整注释的相同线程,并在@Bean中使用StandardServletMultipartResolver而不是CommonsMultipartResolver。
答案 2 :(得分:0)
你需要一个rest API,它接受两个参数,其中一个是多部分对象,另一个是一些参数。我已经实施了Rest服务,可能满足您的需求。
@RequestMapping(value = "/upload", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA)
public URL uploadFileHandler(@RequestParam("name") String name,
@RequestParam("file") MultipartFile file) throws IOException {
/***
//Your business logic
/***
}
祝你好运..