retrofit2上传图片遇到的问题

由于retrofit2也支持multipart/form-data上传图片,自然就用retrofit2来上传图片,方便快捷

retrofit上传图片中,看到接口定义中出现了下面一行

@Part("file\"; filename=\"cropped.jpg")

感到很奇怪,因为发现其中出现了不成对的双引号

查看源码,找到了原因:

在Retrofit->ServiceMethod.java这个类里,找到下面这一行代码,才明白是这样拼接的

"Content-Disposition", "form-data; name=\"" + partName + "\""

这一行是multipart/form-data上传图片需要定义的格式

遇到的一个坑,是自己粗心所致 

现象是,上传的body始终只有{}

原因是retrofit2使用的RequestBody类不对,用成了okhttp2包里的RequestBody

retrofit2需要的是RequestBody是okhttp3里的

你可能感兴趣的:(retrofit2上传图片遇到的问题)