OKhttp上传多张图片到服务器的实现!!!

网上找了很多,但是都是断断续续的不是很完整,这里二话不说上干货!

//类型
private static final MediaType MEDIA_TYPE_PNG = MediaType.parse("image/*");

MultipartBody.Builder builder = new MultipartBody.Builder().setType(MultipartBody.FORM);

    for (int i = 0; i < photoPath.size() - 1; i++) {
    File file = new File(photoPath.get(i));


    if (file != null) {
        builder.addFormDataPart("image", file.getName(), RequestBody.create(MEDIA_TYPE_PNG, file))
             .addFormDataPart("key", "values")
             .addFormDataPart("key", "values")
             .addFormDataPart("key", "values")
             .addFormDataPart("key", "values")
            .build();
    MultipartBody requestBody = builder.build();
    OkHttpClient client = new OkHttpClient();
    //构建请求
    Request request = new Request.Builder()
            .url(url)//地址
            .post(requestBody)//添加请求体
            .addHeader(key, value)
            .build();
    client.newCall(request).enqueue(new Callback() {
        @Override
        public void onFailure(Call call, IOException e) {
            Logger.e(TAG, "上传失败:e.getLocalizedMessage() = " + e.getLocalizedMessage());
        }

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

            Logger.e(TAG, "上传照片成功:response = " + response.body().string());


        }
    });
 
  
     和后台协商是循环上传到图片服务器然后返回图片的url  再次和其他数据上传。 

你可能感兴趣的:(OKhttp上传多张图片到服务器的实现!!!)