我正在使用Retrofit 2开发一个应用程序来获取和发送数据到API。当我尝试使用Multipart上传图像时,API日志表明它没有收到我发送给它的所有数据。这是我的代码:
服务接口方法:
@Multipart
@POST("photoUpload")
Call<JsonObject> uploadPhoto(@Header("Accept") String acceptType,
@Header("Authorization") String token, @Part("param1") okhttp3.RequestBody value1,
@Part("param2") okhttp3.RequestBody value2,
@Part("param3") okhttp3.RequestBody value3,
@Part MultipartBody.Part photo);
上传图片功能:
service.uploadPhoto("application/json",
token, okhttp3.RequestBody.create(MediaType.parse("multipart/form-data"),
String.valueOf(value1)),
okhttp3.RequestBody.create(MediaType.parse("multipart/form-data"), value2),
okhttp3.RequestBody.create(MediaType.parse("multipart/form-data"),
String.valueOf(value3),
getImage()).enqueue(...);
getImage()函数:
private MultipartBody.Part getImage(File file){
okhttp3.RequestBody body = okhttp3.RequestBody.create(MediaType.parse("multipart/form-data"), file);
return MultipartBody.Part.createFormData("image", file.getName(), body);
}