美文网首页
form-data表单文件和参数混合上传

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

作者: ae12 | 来源:发表于2022-05-18 15:27 被阅读0次

    记录下最近遇到的糟心的后端接口
    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

    相关文章

      网友评论

          本文标题:form-data表单文件和参数混合上传

          本文链接:https://www.haomeiwen.com/subject/blsaurtx.html