国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android使用 Retrofit 2.X 上傳多文件和多表單示例

2019-10-22 18:28:59
字體:
供稿:網(wǎng)友

android/258773.html">retrofit post請求上傳表單和文件最重要的就是就是去構(gòu)建RequestBody,今天為大家?guī)硪环N超級簡單的上傳方式

Body方式:

1、Retrofit接口RetrofitInterface

 @POST(URLConstant.URL_PATH)  Flowable<UploadImgBean> upload(@Body RequestBody Body);

2、Retrofit的配置

private static RetrofitInterface getRetrofitInterface(String baseUrl) {    if (retrofitInterface == null) {      Retrofit retrofit = new Retrofit.Builder()          .baseUrl(baseUrl)          .addConverterFactory(GsonConverterFactory.create())//        .addConverterFactory(ScalarsConverterFactory.create()) //string          .addCallAdapterFactory(RxJava2CallAdapterFactory.create())          .build();      retrofitInterface = retrofit.create(RetrofitInterface.class);    }    return retrofitInterface;  }

3、構(gòu)建body

 public static Flowable<UploadImgBean> upload(List<File> fileList) {    //構(gòu)建body//addFormDataPart()第一個參數(shù)為表單名字,這是和后臺約定好的    MultipartBody.Builder builder = new MultipartBody.Builder()        .setType(MultipartBody.FORM)        .addFormDataPart("username", "name")         .addFormDataPart("phone", "phone")   //注意,file是后臺約定的參數(shù),如果是多圖,file[],如果是單張圖片,file就行    for (File file : fileList) {      //這里上傳的是多圖      builder.addFormDataPart("file[]", file.getName(), RequestBody.create(MediaType.parse("image/*"), file));    }    RequestBody requestBody = builder.build();    return getRetrofitInterface(URLConstant.URL_BASE).upload(requestBody);  }

4、開始執(zhí)行上傳

HttpUtils.upload(mUploadFileList)        .subscribeOn(Schedulers.io())        .observeOn(AndroidSchedulers.mainThread())        .subscribe(new DisposableSubscriber<UploadImgBean>() {          @Override          public void onNext(UploadImgBean uploadImgBean) {            Log.i(TAG, "onNext: " );             }          }          @Override          public void onError(Throwable throwable) {            Log.i(TAG, "onError: --->" + throwable.getMessage());          }          @Override          public void onComplete() {            Log.i(TAG, "onComplete: ");          }        });

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 广安市| 阳东县| 资中县| 海安县| 宁武县| 武鸣县| 虞城县| 建瓯市| 赤城县| 托克托县| 庆安县| 简阳市| 阿拉善盟| 肇源县| 吴江市| 连云港市| 健康| 灵武市| 白银市| 双江| 黄梅县| 兴城市| 永昌县| 砚山县| 池州市| 阳西县| 周至县| 施甸县| 平昌县| 佛冈县| 郎溪县| 闵行区| 射阳县| 温泉县| 九江县| 靖州| 宣城市| 盱眙县| 南汇区| 横峰县| 左贡县|