我想使用Retrofit2上传照片,但我无法摆脱500内部服务器错误。我也得到消息"减少没有初始值的空数组"。当我从服务器检索上传的照片时,照片不存在。我使用Charles Web Debugging Proxy工具检查响应。
public static void postPhoto(String participantId, String photoPath) {
try {
File photo = new File(photoPath);
ApiEndpoints api = ApiProvider.getInstance().getApiInstance();
RequestBody reqFile = RequestBody.create(MediaType.parse("image/*"), photo);
MultipartBody.Part body = MultipartBody.Part.createFormData("image", photo.getName(), reqFile);
Call<ResponseBody> call = api.uploadPhoto(participantId, body);
call.execute();
} catch (Exception e){
e.printStackTrace();
}
}
API端点
@Multipart
@POST("participant/{id}/image")
Call<ResponseBody> uploadPhoto(@Path("id") String id, @Part MultipartBody.Part image);