过去几天我真的遇到了这个问题。我需要实现的是通过多部分将图像发送到服务器。我尝试了这段代码,但在服务器上它说该请求不是多部分请求
这就是我尝试将图像发送到应用程序上的服务器的方式
MultipartEntity entity = new MultipartEntity();
entity.addPart(photosPath.getName(), new FileBody(photosPath));
这也是我的应用程序使用 RESTful 服务调用服务器的方式
@GET("/api/add/remark")
void addRemark(@Header("Cookies") HttpCookie cookie, @Query("tenantId") long tenantId, @Query("userId") long userId, @Query("comment") String commentJson, @Query("file") MultipartEntityBuilder multipartEntity, Callback<CreationResponse> callback);
在我的服务器端,这就是我收到的方式
@RequestMapping("add/remark")
@Secured({"ROLE_ADMIN","ROLE_SITE_USER","ROLE_FIELDUSER"})
@JsonInclude(Include.NON_NULL)
public @ResponseBody
CreationResponse addRemarkController1(@RequestParam String comment,@RequestParam Integer userId,@RequestParam long tenantId,@RequestParam("file") MultipartFile file,HttpServletRequest request) {}
我不知道如何重新确定这一点。请帮忙
编辑 1
MultipartEntity entity = new MultipartEntity();
ContentBody contentBody = new FileBody(photosPath,"imgae/jpeg");
entity.addPart("file", contentBody);
我试过这个,它不起作用
我认为
你应该使用@Multipart注释。这就是我的做法
@Multipart
@POST("/events")
CreateChatEventCallback sendChatImageSynchronously(@Header("Authorization") String token,
@Part("type") String type,
@Part("attachment") TypedFile image,
@Part("message_id") String messageId);
这篇文章可能会有所帮助,