使用Retrofit 2.0的POST多部分表单数据,包括图像
我正在尝试使用Retrofit 2.0对服务器进行HTTP POST MediaType MEDIA_TYPE_TEXT = MediaType.parse("text/plain"); MediaType MEDIA_TYPE_IMAGE = MediaType.parse("image/*"); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); imageBitmap.compress(Bitmap.CompressFormat.JPEG,90,byteArrayOutputStream); profilePictureByte = byteArrayOutputStream.toByteArray(); Call<APIResults> call = ServiceAPI.updateProfile( RequestBody.create(MEDIA_TYPE_TEXT, emailString), RequestBody.create(MEDIA_TYPE_IMAGE, profilePictureByte)); call.enqueue(); 服务器返回错误,指出文件无效。 这很奇怪,因为我尝试在iOS上以相同的格式上传相同的文件(使用其他库),但是上传成功。 我想知道使用Retrofit 2.0上传图像的正确方法是什么? 上传之前,我应该先将其保存到磁盘吗? PS:我已经对其他不包含图像的Multipart请求进行了改造,并且已成功完成。问题是当我尝试向身体包括一个字节时。