怎么在Android中利用Retrofit 2.X 上傳文件?針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
在浠水等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷,外貿(mào)網(wǎng)站建設(shè),浠水網(wǎng)站建設(shè)費(fèi)用合理。
Body方式:
1、Retrofit接口RetrofitInterface
@POST(URLConstant.URL_PATH) Flowableupload(@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 Flowableupload(List fileList) { //構(gòu)建body //addFormDataPart()第一個(gè)參數(shù)為表單名字,這是和后臺(tái)約定好的 MultipartBody.Builder builder = new MultipartBody.Builder() .setType(MultipartBody.FORM) .addFormDataPart("username", "name") .addFormDataPart("phone", "phone") //注意,file是后臺(tái)約定的參數(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() { @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: "); } });
關(guān)于怎么在Android中利用Retrofit 2.X 上傳文件問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。