图片上传 以文件的形式上传

//图片选择器
private void matisse() {

    Matisse.from(AddCarActivity.this)
            .choose(MimeType.allOf())
            .countable(true)
            .capture(true)
            .captureStrategy(
                    new CaptureStrategy(true, "包名"))
            .maxSelectable(1)
            .addFilter(new GifSizeFilter(320, 320, 5 * Filter.K * Filter.K))
            .gridExpectedSize(
                    getResources().getDimensionPixelSize(R.dimen.grid_expected_size))
            .restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
            .theme(R.style.Echarge)
            .thumbnailScale(0.85f)
            .imageEngine(new PicassoEngine())
            .forResult(REQUEST_CODE_CHOOSE);
}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE_CHOOSE && resultCode == RESULT_OK) {
        List<Uri> mSelected = Matisse.obtainResult(data);
        Uri uri = mSelected.get(0);
        String realFilePath = UriToPathUtil.getRealFilePath(AddCarActivity.this, uri);
        list.add(realFilePath);
        GlideUtils.loadImageViewSize(AddCarActivity.this, uri, 639, 464, mIvDrivingLicense);
    }
}

@Override
public void onAllGranted(String[] allPermissions) {
    matisse();
}

@Override
public void onDeined(String[] dinedPermissions) {

}
 
//存入到map集合中
private void initParam(HashMap map) {

    //判断当前是否选择认证
    switch (isAuthentication) {
        case "1":
            //选择认证
            //上传图片
            for (String imagePath : list) {
                File file = new File(imagePath);
                //this.map.put("drivingLicensePhoto\";filename=\"" + file.getName().toLowerCase(), RequestBody.create(MediaType.parse("image/jpg"), file));
                // 创建 RequestBody,用于封装构建RequestBody
                RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
                // MultipartBody.Part 和后端约定好Key,这里的partName是用image
                body = MultipartBody.Part.createFormData("drivi", file.getName(), requestFile);

                //map1.put("drivingLicensePhoto", requestFile);
            }
       

            break;
    }

}
 
//获取
private void netWork() {

    Retrofit retrofit = RetrofitUtils.retrofitutild(AddCarActivity.this, Interface.BASEURL2);
    BaseApi baseApi = retrofit.create(BaseApi.class);
    String token = SharePreferenceUtils.getToken(AddCarActivity.this);

    map = new HashMap();
    //map1 = new HashMap<String, RequestBody>();

    initParam(map);

    //判断token是否为空
    if (TextUtils.isEmpty(token)) {

        return;
    } else {

        if (body == null) {

            bindCar = baseApi.getBindCar(token, map);

        } else {

            bindCar = baseApi.getBindCar(token, map, body);
        }

        bindCar.enqueue(new Callback<AddCarBean>() {
            @Override
            public void onResponse(Call<AddCarBean> call, Response<AddCarBean> response) {

                //获取数据并提示
                AddCarBean addCarBean = response.body();

                if (addCarBean != null & addCarBean.getCode() == 0) {

                    //表示请求成功--进行提示
                    ToastUtil.showToast(AddCarActivity.this, addCarBean.getData());
                    finish();

                } else if (addCarBean.getCode() == 1) {

                    //TokenDialogUtils.tokenDialog(AddCarActivity.this);
                } else {
                    ToastUtil.showToast(AddCarActivity.this, addCarBean.getError().toString());
                }
            }

            @Override
            public void onFailure(Call<AddCarBean> call, Throwable t) {
                t.printStackTrace();
                ToastUtil.showToast(AddCarActivity.this, "网络连接失败");
            }
        });
    }
//点击事件启动
new RTPermission.Builder()
        .permissions(
                Manifest.permission.CAMERA
        )
        .start(this, this);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值