jeasonlzy / okhttp-OkGo

OkGo - 3.0 震撼来袭,该库是基于 Http 协议,封装了 OkHttp 的网络请求框架,比 Retrofit 更简单易用,支持 RxJava,RxJava2,支持自定义缓存,支持批量断点下载管理和批量上传管理功能
Apache License 2.0
10.6k stars 2.55k forks source link

OkGo的post带参数和文件的请求,参数传递不过去 #831

Open yzhatsy opened 5 years ago

yzhatsy commented 5 years ago

OkGo.<ResultBean>post(Urls.URL_SCAN_DELIVERY) .tag(this) .params("userId", 1) .params("orderNo", orderNo) .params("platformId", checked_platform_id) .params("img",new File(.....)) .isMultipart(true) .execute(new DialogCallback<ResultBean>(this) { ...... 按这种方式发送post请求,发现param参数一个都没传递过去,看打印log 请求体是空的,哪位帮忙解答下。

wodx521 commented 5 years ago

这个要用HttpParams类来对参数进行封装的, HttpParams httpParams = new HttpParams(); httpParams .put("userId","1"); httpParams .put("orderNo",orderNo); httpParams .put("platformId",checked_platform_id); // file = new File(...); httpParams .put("img", new HttpParams.FileWrapper(file, file.getName(), MediaType.parse("image/png")));

OkGo.post(Urls.URL_SCAN_DELIVERY) .tag(this) .params(httpParams) .isMultipart(true) .execute(new DialogCallback(this) { ....