我正在尝试使用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上传图片的正确方式是什么?
我应该先将其保存到磁盘再上传吗?
P.S.:我已经使用Retrofit进行了其他Multipart请求,它们都成功完成了。问题出在当我试图将字节包含在请求体中时。