我花了很多时间四处寻找这个问题的答案,但我终于想出了如何让它发挥作用。您需要添加:
resteasy-multipart-provider-2.3.5.Final.jar
到您的类路径(或resteasy
您正在使用的任何版本)。然后,您可以执行以下形式的操作:
ClientRequest add_request = request();
MultipartFormDataOutput upload = new MultipartFormDataOutput();
upload.addFormData("data", recording, MediaType.APPLICATION_XML_TYPE);
upload.addFormData("file", Resources.toByteArray(Resources.getResource("thermo.wav")), MediaType.APPLICATION_OCTET_STREAM_TYPE);
add_request.body(MediaType.MULTIPART_FORM_DATA_TYPE, upload);
ClientResponse<?> recording_response = add_request.post();
Assert.assertEquals(Response.Status.CREATED, recording_response.getResponseStatus());
最后一行只是一个JUnit
测试断言;不需要。 由资源类thermo.wav
指定@FormParam("file")
并在此处加载到字节数组中。Google Guava's
您可以根据需要创建字节数组。