[英]Java Spring: Content type 'multipart/form-data;boundary ;charset=UTF-8' not supported
I have created a controller:我创建了一个控制器:
@RequestMapping(value = "/photo/" , method = RequestMethod.POST)
public @ResponseBody
void addPhotoData(@RequestBody Photo photo, @RequestParam("data")
MultipartFile photoData) {
InputStream in = null;
try {
in = photoData.getInputStream();
photoService.save(photo, in);
} catch (IOException e) {
e.printStackTrace();
}
}
and I send the request with Postman:我用邮递员发送请求:
I cannot understand why I receive the error 415 not supported.我不明白为什么我会收到不支持的错误 415。 Help!
帮助!
Try wrapping the request body into an object.尝试将请求正文包装到一个对象中。
public class Payload {
private String name;
private String url;
private MultipartFile data;
...
}
Add consumes = { "multipart/form-data" }
and添加
consumes = { "multipart/form-data" }
和
@RequestMapping(value = "/photo/" , method = RequestMethod.POST, consumes = { "multipart/form-data" })
public @ResponseBody void addPhotoData(@ModelAttribute Payload payload) {
...
}
There is also MediaType.MULTIPART_FORM_DATA_VALUE
constant instead of using that string还有
MediaType.MULTIPART_FORM_DATA_VALUE
常量而不是使用该字符串
This is called multipart mixed type.这称为多部分混合类型。 Try changing your signature like this
尝试像这样更改您的签名
@RequestMapping(value = "/photo/" , method = RequestMethod.POST, consumes = {"multipart/mixed"})
public @ResponseBody void addPhotoData(@RequestPart Photo photo, @RequestPart("data")
MultipartFile photoData) {
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.