Я пытаюсь загрузить изображение из приложения Android на сервер Django, используя Retrofit 2 и OkHttp3 . Для этого я использовал для создания RequestBody
экземпляр, используя следующие строки:
RequestBody requestImageFile =
// NOW this call is DEPRECATED
RequestBody.create(
MediaType.parse("image/*"),
// a File instance created via the path string to the image
imageFile
);
Я использовал предыдущий экземпляр в следующем вызове метода в качестве аргумента:
// MultipartBody.Part is used to send also the actual file name
MultipartBody.Part image = MultipartBody.Part.createFormData("image", imageFile.getName(), requestImageFile);
Наконец,Я запустил интерфейс Retrofit, чтобы сделать все остальное:
// finally, execute the request
Call<ResponseBody> call = service.upload(image);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
Log.v("Upload", "success");
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.e("Upload error:", t.getMessage());
}
});
Несколько месяцев назад Android Studio не сказала мне, что create()
устарела. Когда я сейчас открываю проект, он говорит, что create()
устарел. Кто-нибудь знает, как это исправить?