搜尋

首頁  >  問答  >  主體

android - Retrofit 设置上传图片类型为image/png 后台接收类型却为Application/json?

File imageFile = new File(imagePath);

    ToolUtils.Log("imageFile = "+imageFile.getPath());
    String imageName = splitPath(imagePath);
    RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"),imageFile);
    //RequestBody requestBody = RequestBody.create(MediaType.parse("image/jpg"),imageFile);
    
    两种方式构建RequestBody对象php后台得到的type都为applicattion/json
    是否是因为.addConverterFactory(GsonConverterFactory.create())的原因?
怪我咯怪我咯2771 天前1367

全部回覆(1)我來回復

  • 巴扎黑

    巴扎黑2017-04-18 09:05:51

    查看下你的Retrofit的版本,2.X的版本中上傳圖片的方式發生了變化,使用MultipartBody.Part如下

    RequestBody requestFile =RequestBody.create(MediaType.parse("multipart/form-data"), file);
    // MultipartBody.Part is used to send also the actual file name
    MultipartBody.Part body =MultipartBody.Part.createFormData("image", file.getName(), requestFile);

    回覆
    0
  • 取消回覆