form-data表单文件和参数混合上传

2022-05-18  本文已影响0人  ae12

记录下最近遇到的糟心的后端接口
postman 请求如下:


form-data_with_text.png

就是用表单形式提交一串字符串, 本来很简单地放在body里就搞定的事情,非另辟蹊径、杀鸡焉用牛刀 地把这个上传文件的来传个字符串
,讲真,第一次见给我恶心到了,哎没办法,只能找找解决
最终解决了:

@Multipart
@POST("xxx/editCase")
Observable<BaseEntity<Object>> ediInfo(@Part("content") RequestBody content, @Query("caseId") String caseId, @Query("type") int type);

入参地方:

//声明类型,这里是文字类型
        MediaType textType = MediaType.parse("text/plain");
        //根据声明的类型创建RequestBody,就是转化为RequestBody对象
        RequestBody contentBody = RequestBody.create(textType, content);
//        HashMap<String, Object> hashMap = new ParamMapTool().put("content", content).build();
//        RequestBody requestBody = TjRetrofitUtils.getInstance().getRequestBody(hashMap);
        String contentTe="但由于各种原因,双方之间产生纠纷也是难以避免的事情。劳动纠纷的发生";
        Observable<BaseEntity<Object>> observable = TjRetrofitFactory.getInstance().editSjMediationInfo(contentBody, caseId, type);

回头补了MediaType
1.Content-Type、MediaType是什么?

MediaType,即是Internet Media Type,互联网媒体类型,也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。(也就是说MediaType在网络协议的消息头里面叫做Content-Type)它使用两部分的标识符来确定一个类型,是为了表明我们传的东西是什么类型。

2.常见的媒体格式类型如下:

text/html : HTML格式
text/plain :纯文本格式      
text/xml :  XML格式
image/gif :gif图片格式    
image/jpeg :jpg图片格式 
image/png:png图片格式

具体参见https://blog.csdn.net/luqingshuai_eloong/article/details/103743077

上一篇 下一篇

猜你喜欢

热点阅读