<em id="ju2li"></em>

<style id="ju2li"><kbd id="ju2li"></kbd></style>

  • <style id="ju2li"></style>
    <acronym id="ju2li"><cite id="ju2li"></cite></acronym>
    <blockquote id="ju2li"></blockquote>
  • 国产av丝袜熟女一二三,国产精品国语对白露脸在线播放 ,中文字幕国产精品日韩,一区二区福利在线视频,日韩一区二区在线看精品,毛片无码一区二区三区,大屁股肥熟女流白浆,av中文字幕在线二区

    跟我學編程:Android Okhttp框架以文件形式上傳圖片代碼

    2018/3/10 18:21:11 人評論 次瀏覽 分類:PLC應用  文章地址:http://m.xzycr.cn/tech/1832.html

    如何在Android  Okhttp框架以文件形式上傳圖片?網友“聽海”寫了這段代碼,昌暉儀表在此分享給大家。
    計算機編程

    以Post為例
    public Observable<String> postImageview(final String url, final  MultipartBody requestBody){
            //創建被觀察者
            Observable<String> observable = Observable.create(new Observable.OnSubscribe<String>(){
                @Override
                public void call(Subscriber<? super String> subscriber) {
                    final Subscriber mSubscriber=subscriber;
                    //沒有取消訂閱的時候
                    if(!mSubscriber.isUnsubscribed()){
                        //構建post請求
                        Request request=null;
                        String cookie=CliniciansApplication.getOkhttpCookie();
                        if(!BooleanUtils.isEmpty(cookie)){
                            request=new Request.Builder()
                                    .addHeader("cookie",cookie)
                                    .url(url)
                                    .post(requestBody)
                                    .build();
                        }else{
                            request=new Request.Builder()
                                    .url(url)
                                    .post(requestBody)
                                    .build();
                        }
                        if(mOkHttpClient!=null){
                            mOkHttpClient.newCall(request).enqueue(new Callback() {
                                @Override
                                public void onFailure(Call call, IOException e) {
                                    //通知訂閱者的錯誤信息
                                    mSubscriber.onError(e);
                                }


                                @Override
                                public void onResponse(Call call, Response response) throws IOException {
                                    if(null!=response){//response 不為空
                                        if(response.isSuccessful()){//response 請求成功
                                            //通知訂閱者的成功信息
                                            mSubscriber.onNext(response.body().string());
                                        }else{//response 請求失敗
                                            //通知訂閱者的錯誤信息
                                            IOException IOExceptionx=new IOException();
                                            mSubscriber.onError(IOExceptionx);
                                        }
                                    }else{//response 為空
                                        //通知訂閱者的錯誤信息
                                        IOException IOExceptionx=new IOException();
                                        mSubscriber.onError(IOExceptionx);
                                    }
                                    //通知完畢
                                    mSubscriber.onCompleted();
                                }
                            });
                        }
                    }
                }
            });
            return observable;
        }

     

    調用

    private void uploadAva(final String posturl,final File file,final String path){
            if((null!=mRxAndroidOkhttp)&&(null!=file)){
                showProgressDialogs();
                MultipartBody.Builder builder = new MultipartBody.Builder().setType(MultipartBody.FORM);
                builder.addFormDataPart("files", file.getName(), RequestBody.create(MediaType.parse("image/png"), file));
                builder.addFormDataPart("sePath","avatar");
                MultipartBody requestBody = builder.build();
                //observable定義被觀察者
                mObservable=mRxAndroidOkhttp.postImageview(posturl,requestBody);
                if(null!=mObservable){
                    //定義觀察者
                    Subscriber<String> mSubscriber=new Subscriber<String>(){
                        @Override
                        public void onCompleted() {


                        }


                        @Override
                        public void onError(Throwable e) {
                            dismissProgressDialogs();
                            toast.showToast(StringConstant.errorstate1);
                        }


                        @Override
                        public void onNext(String s) {
                            parseAva(s,path);
                        }
                    };


                    /**
                     * 訂閱者關聯被觀察者
                     * Schedulers.io()說明是輸入輸出的計劃任務
                     * AndroidSchedulers.mainThread()說明訂閱者是中ui主線程中執行
                     * */


                    mObservable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(mSubscriber);
                }
            }
        }

    共有訪客發表了評論 網友評論

      客戶姓名:
    郵箱或QQ:
    驗證碼: 看不清楚?
    主站蜘蛛池模板: 伊人一二三| 亚洲成A∧人片在线播放黑人| 国产午夜视频在线观看| 国产超碰人人做人人爰| 国产乱妇4p交换乱免费视频| 中国极品少妇videossexhd| 日韩av无码中文字幕制服丝袜| 人妻少妇偷人精品一区| 日韩av综合中文字幕| 欧美人与动欧交视频| 亚洲欧美精品aaaaaa片| 91热视频| 污污污www精品国产网站| 天天操国产| 欧美亚洲h在线一区二区| 精品人妻日韩中文字幕| 国产高清在线精品一区APP| 日韩人妻少妇一区二区三区 | 国产九色自拍视频一区| 最近最新中文字幕免费的一页| 国产福利社区一区二区| 国产亚洲欧美另类一区二区| 国精品午夜福利视频不卡| 在线免费看av| 久久久久久久97| 亚洲欧美一级一级a| 欧美激情一区二区三区在线播放| 一本久久88色| 国产精品 欧美 亚洲 制服| 亚洲悠悠色综合中文字幕| 人与兽XXX| 无码高潮少妇毛多水多水| 99视频有精品视频在线观看| 日韩欧美一区在线观看| 亚洲色拍拍噜噜噜最新网站| 97无码人妻福利免费公开在线视频| 日本夜爽爽一区二区三区| 内射中出日韩无国产剧情| 天天综合久久天天综合久久| 97无码精品人妻毛片| 国产免费无码av片在线观看不卡 |