Retrofit 上传文件

 private void uploadImg(File file) {
      
        //时间戳
        long time = System.currentTimeMillis();
        //参数以map形式组装起来
        Map<String, Object> map = new TreeMap<>();
        map.put("orgId", SharePreferenceUtils.getInt(HaoYunApp.getAppContext(), LoginResult.LOGIN_ORG_ID));
        map.put("uId", SharePreferenceUtils.getInt(HaoYunApp.getAppContext(), LoginResult.LOGIN_USER_ID));
        map.put("sign", Md5Util.encrypt(EncryptHelper.getUrlParamsByMap(map) + Interface.MD5 + time));
        //以RequestBody形式上传
        RequestBody requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM)
                .addFormDataPart("orgId", SharePreferenceUtils.getInt(HaoYunApp.getAppContext(), LoginResult.LOGIN_ORG_ID) + "")
                .addFormDataPart("uId", SharePreferenceUtils.getInt(HaoYunApp.getAppContext(), LoginResult.LOGIN_USER_ID) + "")
                .addFormDataPart("sign", (String) map.get("sign"))
                .addFormDataPart("file", file.getName(), RequestBody.create(MediaType.parse("image/*;video/*"), file))
                .build();

        HttpManager.getUpLoadImpl()
                .uploadImg(
                        DeviceUtils.getDeviceID(HaoYunApp.getAppContext()),
                        time, requestBody)
                .observeOn(AndroidSchedulers.mainThread())//事件消费的线程,主线程显示
                .subscribeOn(Schedulers.io())//事件产生的线程,后台线程取数据
                .subscribe(new Observer<Images>() {
                    @Override
                    public void onSubscribe(Disposable d) {

                    }
                    @Override
                    public void onNext(Images images) {   
                      //此处为成功返回结果					
                    }
                    @Override
                    public void onError(Throwable e) {
                        e.printStackTrace();  
                      //此处为失败返回结果						
                    }

                    @Override
                    public void onComplete() {                    
                    }
                });
    }
	
	======================================================
	//  资源上传
    @POST("fdfs/upLoadFile")
    Observable<Images> uploadImg(
            @Header("devId") String devId,
            @Header("time") long time,
            @Body RequestBody body
    );
	=====================================================================
	

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值