安卓okHttpClient,MultipartBody 文件上传。

 @Override
    public void onImageCapture(@NonNull File imageFile) {
         private OkHttpClient  okHttpClient = new OkHttpClient();
        Toast.makeText(this,
                "Captured image size is : " + imageFile.length(),
                Toast.LENGTH_SHORT)
                .show();
        Log.i("照片名", "onImageCapture: " + imageFile.getName());
        Log.i("照片路径", "onImageCapture: " + imageFile.getAbsolutePath());

        File file = new File(imageFile.getAbsolutePath());
        RequestBody fileBody = RequestBody.create(MediaType.parse("application/octet-stream"), file);
        RequestBody requestBody = new MultipartBody.Builder()
                //Filedata为与服务端设置的名称要一致
                .setType(MultipartBody.FORM)
                .addPart(Headers.of(
                        "Content-Disposition",
                        "form-data; name=\"Filedata\"; filename=\"" + imageFile.getName() + "\""), fileBody)
                .build();

        Request request = new Request.Builder()
                .url(Constants.UPLOAD_URL)
                .post(requestBody)
                .build();

        Call call = okHttpClient.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

                Log.i("照片上传失败", "failure upload!" + e.getMessage());
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {

                Log.i("照片上传成功", "success upload!" + response.body().string());
            }
        });

        // Do something with the image...

        stopSelf();
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值