您的位置:首页 > 理论基础 > 计算机网络

OkHttp使用(三)文件上传

2016-06-28 17:10 471 查看
         基于Http的文件上传,采用表单方式上传文件。

         通过“addFormDataPart”可以添加多个上传的文件。

private void uploadMultiFile() {

        final String url = "upload url"

        File file = new File("fileDir", "test.jpg");

        RequestBody fileBody = RequestBody.create(MediaType.parse("application/octet-stream"), file);

        RequestBody requestBody = new MultipartBody.Builder()

                .setType(MultipartBody.FORM) 

                .addFormDataPart("image", "test.jpg", fileBody)

                .build();

        Request request = new Request.Builder()

                .url(url)

                .post(requestBody)

                .build();

        final okhttp3.OkHttpClient.Builder httpBuilder = new OkHttpClient.Builder();

        OkHttpClient okHttpClient  = httpBuilder

                //设置超时

                .connectTimeout(10, TimeUnit.SECONDS)

                .writeTimeout(15, TimeUnit.SECONDS)

                .build();

        okHttpClient.newCall(request).enqueue(new Callback() {

            @Override

            public void onFailure(Call call, IOException e) {

                Log.e(TAG, "uploadMultiFile() e=" + e);

            }

            @Override

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

                Log.i(TAG, "uploadMultiFile() response=" + response.body().string());

            }

        });

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: