suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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 Tage vor1363

Antworte allen(1)Ich werde antworten

  • 巴扎黑

    巴扎黑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);

    Antwort
    0
  • StornierenAntwort