我需要使用java test将post请求发送到这个rest函数:
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public @ResponseBody String handleFileUpload(@PathVariable Long ownerId, @RequestBody MultipartFile file,
HttpServletResponse response) throws IOException {
//Some function
}
这是我的试用版:
File file = new File("filePath");
FileDataBodyPart fileDataBodyPart = new FileDataBodyPart("file", file, MediaType.MULTIPART_FORM_DATA_TYPE);
WebResource webResource = createResourceClient("restPath", user);
ClientResponse response = webResource.type(MediaType.MULTIPART_FORM_DATA_TYPE).post(ClientResponse.class, fileDataBodyPart);
错误说:
“当前请求不是多部分请求”
答案 0 :(得分:2)
下面的代码将把文件和ContentDispostion发送到REST API。
FormDataBodyPart formPart = new FormDataBodyPart(FormDataContentDisposition.name("file").fileName("YourFileName").build(),
inputStream,MediaType.APPLICATION_OCTET_STREAM_TYPE);
MultiPart multipart = new FormDataMultiPart().bodyPart(formPart);
resource = resource.path("Your Rest api path");
ClientResponse response = resource.type(MediaType.MULTIPART_FORM_DATA).post(ClientResponse.class, multipart);