Okhttp重拾2

2018-08-17  本文已影响0人  dev晴天
/* (单一类型)
   *
   * RequestBody 是抽象类(上面的FormBody是他的子类)
   * 这个类主要提供了一系列静态重载方法create 来创建RequestBody 对象
   *
   * create重载方法:两个参数
   *  public static RequestBody create(MediaType contentType, String content)
   *
   *  public static RequestBody create(final MediaType contentType, final ByteString content)
   *
   *  public static RequestBody create(final MediaType contentType, final byte[] content)
   *
   *   public static RequestBody create(final MediaType contentType, final File file)
   *
   *   MediaType  媒体类型
   *
   * */
   public void  requestBody(){
        MediaType jsonType = MediaType.parse("application/json; charset=utf-8");// 数据类型为json
        String json = "{\"username\":\"lisi\",\"nickname\":\"李四\"}";//json数据
        RequestBody requestBody = RequestBody.create(jsonType,json);
         // 如果想吧发送的类型定义为File 则
        // 1 MediaType fileType = MediaType.parse("File/*");
       //2 在搞一个file对象 两个作为参数传入 create即可

   }



   /*请求是上传的不同类型文件
     MultipartBody

   * public final class MultipartBody extends RequestBody
   *
   *
   *
   * Builder()为MultipartBody的内部类  public static final class Builder
   *  addFormDataPart 两个重载方法  两个和三个参数(Builder 的方法支持链式调用)
   *
   *  build()返回MultipartBody对象
   * */
   public  void mulType(){
       File file = new File(getCacheDir().getAbsoluteFile().toString()+"a.txt");
       MultipartBody multipartBody = new MultipartBody.Builder()
               .setType(MultipartBody.FORM)
               .addFormDataPart("name","Tom")
               //参数 上传的 key 文件名  RequestBody类型文件
               .addFormDataPart("file",file.getName(),RequestBody.create(MediaType.parse("file/*"),file))
               .build();

   }

Okhttp重拾1
参考自

上一篇下一篇

猜你喜欢

热点阅读