compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
版本
单文件上传
@Multipart
@POST("/image/upload")
Observable<BaseBean> uploadImage(@Part("description") RequestBody description, @Part MultipartBody.Part file);
RequestBody requestBody = RequestBody.create(MultipartBody.FORM, file);
MultipartBody.Part part = MultipartBody.Part.createFormData("file", file.getName(), requestBody);
String descriptionString = "";
RequestBody description = RequestBody.create(MediaType.parse("multipart/form-data"), descriptionString);
//third
RetrofitUtil.getUserApi().uploadImage(description,part)
.subscribe(new BaseSubscriber<BaseBean>((BaseActivity) mActivity) {
@Override
public void onNext(BaseBean returnBean) {
if (returnBean.getCode() == 0) {
ToastUtils.showShort(mContext, "头像上传成功");
setResult(RESULT_OK);
} else {
ToastUtils.showShort(mContext, returnBean.getMessage());
}
}
});
多文件上传
@Multipart
@POST("/image/uploadImages")
Observable<BaseBean<List<UploadBean>>> uploadImages(@PartMap Map<String, RequestBody> maps);
Map<String, RequestBody> partMapBody = new HashMap<>();
for (int i=0;i<files.size();i++) {
RequestBody requestBody = RequestBody.create(MultipartBody.FORM, files.get(i));
partMapBody.put("files\";filename=\""+files.get(i), requestBody);
}
Map<String, RequestBody> partMapBody = new HashMap<>();
for (int i=0;i<files.size();i++) {
RequestBody requestBody = RequestBody.create(MultipartBody.FORM, files.get(i));
partMapBody.put("files\";filename=\""+files.get(i), requestBody);
}
RetrofitUtil.getUserApi().uploadImages(partMapBody)
.subscribe(new BaseSubscriber<BaseBean<List<UploadBean>>>((BaseActivity) mActivity) {
@Override
public void onNext(BaseBean<List<UploadBean>> returnBean) {
Log.e(TAG, "onNext: "+returnBean );
if (returnBean.getCode() == 0) {
ToastUtils.showShort(mContext, "头像上传成功");
setResult(RESULT_OK);
} else {
ToastUtils.showShort(mContext, returnBean.getMessage());
}
}
});
注意加上filename