带有文件和 JSON 对象的多部分请求
Posted
技术标签:
【中文标题】带有文件和 JSON 对象的多部分请求【英文标题】:Multipart request with file and JSON object 【发布时间】:2015-11-26 21:43:03 【问题描述】:我试图创建将 Multipart 文件和 json 作为输入参数的函数。我写了这样的函数,这里是:
@RequestMapping(method = RequestMethod.PUT)
public ResponseEntity<UserWithPhoto> update(@RequestHeader(value="Access-key") String accessKey,
@RequestHeader(value="Secret-key") String secretKey,
@RequestPart("user") String string,
@RequestPart("photo") MultipartFile file) throws Exception
User user = new ObjectMapper().readValue(string, User.class);
但问题是无法测试它。我像这样使用邮递员客户端并得到错误org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: Unable to process parts as no multi-part configuration has been provided
我相信它,因为我没有设置邮递员写
【问题讨论】:
您在标头中缺少 Content-Type: multipart/related(但这可能不是唯一的问题) 【参考方案1】:您是否尝试将 MultipartResolver 添加到您的 Spring MVC 配置中:
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
【讨论】:
是的,它从一开始就存在。问题是我将正文参数作为 http get 方法传递,我将其更改为 post 并且它现在可以工作。谢谢以上是关于带有文件和 JSON 对象的多部分请求的主要内容,如果未能解决你的问题,请参考以下文章
如何从文件系统发送包含 json 字符串和大文件的多部分数据的 HTTP 请求?
在 IIS 上发布包含 jpg 和 json 的多部分请求会导致内部服务器错误和 win32 状态 64
带有多部分请求的 Spring Boot 不受支持的媒体类型