正常使用Multipart方式上传图片服务器
第一种上传单个图片,第二种上传多个图片spa
@Multipart
@POST(ACTION_URL)
Observable<ResponseBody> uploadFiles(@Part("image\"; filename=\"文件名.jpg") RequestBody file);
@Multipart @POST(ACTION_URL)
Observable<ResponseBody> uploadFiles(@Query("a") String type, @PartMap Map<String, RequestBody> requestBodys);图片
有时上传图片,须要上传几个参数ip
我最开始是使用@Part标签设置的,但服务器接收不到数据,多是类型的缘由get
@Multipart @POST(ACTION_URL)
Observable<ResponseBody> uploadFiles(@Query("a") String type, @PartMap Map<String, RequestBody> requestBodys,@Part("userid") String userid);file
改为下面的就能够了request
@Multipart @POST(ACTION_URL)
Observable<ResponseBody> uploadFiles(@Query("a") String type, @PartMap Map<String, RequestBody> requestBodys,@Part("userid") RequestBody userid);map
或者直接放到Map里im
RequestBody useridBody = RequestBody.create(MediaType.parse("text/plain"), userid);
RequestBody fileBody = RequestBody.create(MediaType.parse("image/*"), imageFile);数据
Map<String, RequestBody> map = new HashMap<>();
map.put("userid", useridBody);
map.put("photo\"; filename=\"" + imageFile.getName(), fileBody);
注意,photo是服务器接收的名称,filename必须写