【发布时间】:2017-04-10 16:20:54
【问题描述】:
我想为参数、一个 object 用户和另一个 multipart 创建一个 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"
}
【问题讨论】:
-
你需要第一个参数@RequestHeader。你能删除并试一试吗
-
@CrazyMac 同样的错误
-
那么你从前端推送文件的方式可能是错误的。您如何从前端调用此服务以及如何传递文件参数
-
@CrazyMac 我正在使用 swagger 但对于用户但对于用户并没有检测到它的 json 我认为
-
您是否正确构建了您的多部分请求?在此处查看 Mozilla 教程,您是否缺少边界或其他内容? developer.mozilla.org/en-US/docs/Learn/HTML/Forms/…
标签: spring-boot request multipart