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类型。

完。

发布了60 篇原创文章 · 获赞 13 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_35584878/article/details/102988322