retrofit post请求多文件,partMap用法

    xiaoxiao2021-03-25  46

    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; }
    转载请注明原文地址: https://ju.6miu.com/read-50127.html

    最新回复(0)