是否可以向HTTP标头添加多媒体类型?

时间:2016-07-10 08:00:40

标签: spring http-headers

我想要同时拥有JSON和文件

我的控制器:

@Authorize(roles={UserType.ADMIN,UserType.SCHOOL_ADMIN})    
@RequestMapping(value="import",method=RequestMethod.POST)
public List<AddUserResponse>importUserBundle(@RequestBody AddUserRequest test,@RequestParam(value="userCsv")MultipartFile[] userCsv)

提出请求时出错:

  

内容类型   &#39;多部分/格式数据;边界= ---- WebKitFormBoundary62tvsTfonhCQ6HSl;字符集= UTF-8&#39;   不支持

有没有办法用multipart / form-data和application / json媒体类型发出请求?

1 个答案:

答案 0 :(得分:0)

您的AJAX电话应该是这样的:

    $.ajax({
        url: '/importUserBundle',
        type: 'POST',
        data: {
       userCsv: FileToSend,
       test: JsonData
       },
        dataType: 'json',
        processData: false,
        contentType: false,
        success: function(data)
        {
        }
   });

<强> EDITED

  

processData:false 不处理文件

     

contentType:false 将内容类型设置为false,因为jQuery会告诉您   服务器是一个查询字符串请求。

请查看此信息以获取更多信息http://abandon.ie/notebook/simple-file-uploads-using-jquery-ajax

希望这会有所帮助