由于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里的