Rxjava+Retrofit2上传文件带参数:参数自带引号问题解决

上传文件没问题。上传图文,也就是上传文字和图片的时候,用以下这个代码:

@Multipart
@POST("xxxxx/images/")
Flowable<UpImgAndTextBean> upLoadImgAndText(
                                        @Part("title") String title, 
                                        @Part("content") String content,  
                                        @Part List<MultipartBody.Part> images);

 你会发现,这两个字符串的文本内容会自动带上了双引号……

废话不说,解决方法就是把字符串的参数封装成map,如下:

@Multipart
@POST("xxxxx/images/")
Flowable<UpImgAndTextBean> upLoadImgAndText(
                                        @PartMap Map<String, RequestBody> params,
                                        @Part List<MultipartBody.Part> images);

然后调用方法的时候,把这两个字符串参数封装一下,最后传这个params给它即可:

Map<String, RequestBody> params = new HashMap<>();
params.put("title",RequestBody.create(MediaType.parse("text/plain"), title));
params.put("content",RequestBody.create(MediaType.parse("text/plain"), content));

注:如果要传int类型的话需+“”转成String类型。

 

完。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章