如何使用jQuery发布文件和json?

如何使用jQuery发布文件和json?,jquery,file,curl,cxf,jax-rs,Jquery,File,Curl,Cxf,Jax Rs,我使用的是ApacheCXF,具有以下JAX-RS POST服务: @POST @Path("/{id}/upload") @Consumes(MediaType.MULTIPART_FORM_DATA) public Response uploadFile(@PathParam("id") final String id, @Multipart(value = "file") final InputStream inputStream, @Multipart(v

我使用的是ApacheCXF,具有以下JAX-RS POST服务:

@POST
@Path("/{id}/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(@PathParam("id") final String id,
        @Multipart(value = "file") final InputStream inputStream,
        @Multipart(value = "body") final SomeDTO dto);
我可以通过以下方式成功调用curl服务:

curl -F file="@filetoparse.csv;type=text/csv" -F body='{"time": "2000-01-02T15:11:00-0700","employeeId": "e1"};type=application/json'   http://localhost:8085/my-app/1.0.0/somepath/1/upload
我试图用html表单调用该服务。但是没有运气。查看chrome控制台,我可以看到只发送了一个请求负载,即文件。未发送JSON

所以我将尝试使用jquery帖子。
如何使用jquery发送两个请求有效负载?

我可以通过此调用使其正常工作:

var data = new FormData();

myFile = $("#myId").find("input[type='file']")[0].files[0];
var fileblob = new Blob([myFile], { type: "text/csv"});
data.append('file', fileblob);

var myJson = $("#myId2").find("textarea").val();
var jsonblob = new Blob([myJson], { type: "application/json"});
data.append('body', jsonblob);

$.ajax({
    url: 'someUrl',
    data: data,
    cache: false,
    contentType: false,
    processData: false,
    type: 'POST'
}).done(function (data, statusText, xhr) {
    var status = xhr.status;
    //Do something depending the status
});