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

来源:互联网 发布:最强手机象棋软件 编辑:程序博客网 时间:2024/05/17 23:57

这里写图片描述
这里写图片描述
关键代码

//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 = 0; 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 = 2;                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);                    //成功                }            }        });    }
0 0