Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaSpring:内容类型';多部分/表格数据;边界;字符集=UTF-8';不支持_Java_Spring_Multipartform Data - Fatal编程技术网

JavaSpring:内容类型';多部分/表格数据;边界;字符集=UTF-8';不支持

JavaSpring:内容类型';多部分/表格数据;边界;字符集=UTF-8';不支持,java,spring,multipartform-data,Java,Spring,Multipartform Data,我已经创建了一个控制器: @RequestMapping(value = "/photo/" , method = RequestMethod.POST) public @ResponseBody void addPhotoData(@RequestBody Photo photo, @RequestParam("data") MultipartFile photoData) { InputStream in = null; try { in =

我已经创建了一个控制器:

@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();
    }
}
我和邮递员一起发送请求:

我无法理解为什么我收到不支持的错误415。
救命啊

这称为多部分混合类型。尝试像这样更改您的签名

@RequestMapping(value = "/photo/" , method = RequestMethod.POST, consumes = {"multipart/mixed"})
public @ResponseBody void addPhotoData(@RequestPart Photo photo, @RequestPart("data")
        MultipartFile photoData) {

尝试将请求主体包装到对象中

 public class Payload {
   private String name;
   private String url;
   private MultipartFile data;
...
}
添加
消耗={“多部分/表单数据”}

@RequestMapping(value = "/photo/" , method = RequestMethod.POST, consumes = { "multipart/form-data" })
public @ResponseBody void addPhotoData(@ModelAttribute Payload payload) {
...

}

还有
MediaType.MULTIPART\u FORM\u DATA\u VALUE
常量而不是使用该字符串

您是否在Postman中设置内容类型标题?如果是,请尝试删除它并重新发送请求。@pvpkiran是正确的。不管怎么说,这对我很有效。重点;1)
使用=“多部分/混合”
。2) 照片参数将成为
@RequestPart
。3) 最后,在撰写本文时,我认为邮递员不支持发送多部分/混合请求。但是,curl确实是这样做的:这个curl命令适用于我
curl-i-X POST-H“Content Type:multipart/mixed”-F“photo={\'name\':\'test\'};Type=application/json”-F“data=@/tmp/somefile”http://localhost:8080/photos
。嗯