1. 程式人生 > >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 = 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); //成功 } } }); }