zoukankan      html  css  js  c++  java
  • 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;
        }
  • 相关阅读:
    YL杯超级篮球赛 (Standard IO)
    Window (Standard IO)
    toj1026 Network 双连通分量
    poj3177 Redundant Paths 双连通分量
    poj1144 Network 双连通分量
    bzoj1269
    bzoj1800
    CF911D
    CF910C
    CF910B
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/7602171.html
Copyright © 2011-2022 走看看