天天看點

android OkHttp 上傳檔案附帶參數

OKHttp上傳檔案帶參數簡單使用三部曲:

建構以下三個對象:

MultipartBody.Builder()

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

RequestBody

RequestBody requestBody=builder.build();
           

Request

Request request = new Request.Builder()
        .url(url)
        .post(requestBody)
        .build();
           
/**
     * 上傳圖檔附帶參數
     * @param url 路徑
     * @param photoPaths 圖檔路徑
     * @param dir 輸入api參數
     * @param callback 回調接口
     */
    public static void uploadImage(String url, String photoPaths, String dir, Callback callback){
       File file = new File(photoPaths);
        RequestBody requestBody =  new MultipartBody.Builder()
                .setType(MultipartBody.FORM)
                .addFormDataPart("dir", dir)
                .addFormDataPart(file.getName(), file.getName(),RequestBody.create(MEDIA_TYPE_MARKDOWN, file)).build();
        Request request = new Request.Builder()
                .url(url)
                .post(requestBody)
                .build();
        okHttpClient.newCall(request).enqueue(callback);
   }
           

MultipartBody支援同時上傳多個檔案,在MultipartBody.Builder對象循環添加檔案參數即可。

GitHub原位址:

OkHttp WIKI