天天看点

Android 模拟表单上传 多图片上传

Android 模拟表单上传 多图片上传
Android 模拟表单上传 多图片上传

关键代码

//private List<String> mPictureList;
//private String mRealName;
//private String mUserCity;
//private String mInvitationCode;
//private int mSex;
//获取用户输入的信息和选择的图片,保存路径到mPictureList 
//点击上传按钮开始上传
private void uploadInfo() {
        //mProgressDialog.show();

        okhttp3.MediaType MEDIA_TYPE_PNG = okhttp3.MediaType.parse("image/jpg");
        okhttp3. OkHttpClient client = new okhttp3.OkHttpClient();
        MultipartBody.Builder builder = new MultipartBody.Builder().setType(MultipartBody.FORM);
        builder.addFormDataPart("uid", uid);
        builder.addFormDataPart("realname", mRealName);
        builder.addFormDataPart("sex", mSex+"");
        builder.addFormDataPart("city",mUserCity);
        for (int i = ; i < mPicturePathList.size(); i++) {
            File f = new File(mPicturePathList.get(i));
            if (f.exists()) {
                builder.addFormDataPart("image[]", f.getName(), okhttp3.RequestBody.create(MEDIA_TYPE_PNG,f));
                LogUtils.i("imagefilepath="+f.getAbsolutePath());
            }
        }
        MultipartBody requestBody = builder.build();
        //构建请求
        okhttp3.Request request = new okhttp3.Request.Builder()
                .url(url)//地址
                .post(requestBody)//添加请求体
                .build();
        client.newCall(request).enqueue(new okhttp3.Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                LogUtils.i("onFailure" + e.toString());
                //失败
                Message message = handler.obtainMessage();
                message.what = ;
                message.obj=e;
                handler.sendMessage(message);
            }

            @Override
            public void onResponse(Call call, okhttp3.Response response) throws IOException {
                String htmlStr = response.body().string();
                if (!TextUtils.isEmpty(htmlStr)){
                    LogUtils.i("htmlStr="+htmlStr);
                    //成功
                }

            }

        });

    }