Retrofit上传文件

来源:互联网 发布:mac修改磁盘格式 编辑:程序博客网 时间:2024/06/06 11:35
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);//thirdRetrofitUtil.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

原创粉丝点击