账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    请问这样子上传文件,该怎样拿到这个文件的上传进度并转成百分比呢?
    38
    0
     /**
         * 上传视频
         */
        private void uploadVideo() {
            String title = mTitle.getText().toString().trim();
            if (TextUtils.isEmpty(title)) {
                ToastUtil.showMessage(R.string.title_cannot_empty);
                return;
            }
            HashMap<String, String> map = new HashMap<>();
            File file = new File(url);
    //        RequestBody requestBody = RequestBody.create(MediaType.parse("video/*"), file);
            RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
            MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), requestBody);
            String uid = UserManager.getInstance().getUid();
            map.put("type", "user");
            map.put("dataType", "1");
            map.put("videoType", "video");
            map.put("dataName", title);
            map.put("userId", uid);
            RxManager.getMethod().uploadVideo(body, map)
                    .compose(RxUtil.schedulers(this))
                    .subscribe(new RxCallback<UploadVideoBean>(this) {
    
                        @Override
                        public void onStart() {
                            setShowProgress(false);
                            super.onStart();
                        }
    
                        @Override
                        public void onSubscribe(Disposable d) {
                            if (mKProgressHUD == null) {
                                mKProgressHUD = KProgressHUD.create(PreviewActivity.this)
                                        .setStyle(KProgressHUD.Style.SPIN_INDETERMINATE)
                                        .setAnimationSpeed(2)
                                        .setDimAmount(0.5f)
                                        //TODO: 可改为百分比显示上传进度
                                        .setLabel("视频上传中,请稍等...")
                                        .setCancellable(false);
                            }
                            mKProgressHUD.show();
                        }
    
                        @Override
                        public void onSuccess(UploadVideoBean uploadVideoBean, String msg) {
                            ToastUtil.showMessage(R.string.upload_success_please_wait_audit);
                            MainActivity.open(PreviewActivity.this);
                            finish();
                        }
    
                        @Override
                        public void onFinish(boolean hasError) {
                            if (mKProgressHUD != null) {
                                mKProgressHUD.dismiss();
                            }
                        }
                    });
        }
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版

    回答动态

    师傅被妖怪抓走了:发布了悬赏问题火爆全网的“元宇宙”到底是什么?预计能赚取 1积分收益
    酒后略带风情:发布了悬赏问题Android内存中Graphics与Code占用过高预计能赚取 10积分收益
    扛起拖把扫天下:发布了悬赏问题typescript如何导出接口配置?求解,谢谢!预计能赚取 10积分收益
    发布了悬赏问题Vue 如何改变返回页面的路径?如让B页面只能返回到A页面.预计能赚取 11积分收益
    发布了悬赏问题vue H5移动端;底部bottom固定定位,安卓弹起键盘导致页面变形如何解决?预计能赚取 10积分收益
    发布了悬赏问题请问为什么tomcat8.5 GET请求中文正常,POST请求还需要设置UTF-8.预计能赚取 10积分收益
    发布了悬赏问题vue2.5+ts创建以及引入jq的方法预计能赚取 11积分收益
    情场浪女:发布了悬赏问题import ggplot时报错module 'pandas' has no attribute 'tslib'预计能赚取 10积分收益
    见心书画许老师18753375161:发布了悬赏问题echarts3 legend禁止点击事件,允许悬浮事件预计能赚取 11积分收益
    aa_92cb0bd09f:发布了悬赏问题codewar上的一个问题预计能赚取 11积分收益