1. 程式人生 > >retrofit post請求多檔案,partMap用法

retrofit post請求多檔案,partMap用法

1. APIService 定義註解

  @Multipart
    @POST("cyxx/Feedback/add.do")
    Observable<ResponseBody> getFeedbackResult(
            @PartMap Map<String, RequestBody> params
    );

2.程式碼裡使用

Map<String, RequestBody> map = new HashMap<>();
//text屬性如何放入
map.put("name",RxPartMapUtils.
toRequestBodyOfText(mAccount)); //file屬性如何放入 for (String _selectedPhoto : pSelectedPhotos) { File _file = new File(_selectedPhoto); Log.e(TAG,"file"+_file.exists()); if(_file.exists()) { RequestBody _requestBody = RxPartMapUtils.toRequestBodyOfImage(_file); Log
.e(TAG,"file:"+_file.getName()); map.put("file\"; filename=\""+_file.getName()+"", _requestBody); } }

3.RxPartMapUtils方法

   public static RequestBody toRequestBodyOfText (String value) {
        RequestBody body = RequestBody.create(MediaType.parse("text/plain"), value
); return body ; } public static RequestBody toRequestBodyOfImage(File pFile){ RequestBody fileBody = RequestBody.create(MediaType.parse("image/*"), pFile); return fileBody; }