#android #retrofit
#Android #модернизация
Вопрос:
Я пытаюсь загрузить изображение на свой сервер. URL-адрес изображения PUT
запрашивается с “Content-Type” : “application/octet-stream”
помощью приведенного ниже моего метода интерфейса для модифицированного вызова
@Headers("Content-Type:application/octet-stream")
@PUT
Call<UserIdentity> putUserProfileImage(@Url String url,
@Body RequestBody file);
И я называю это как
public void putProfilePic(String url, File profileImage,
final Action1<UserIdentity> userIdentityAction) {
RequestBody fileBody = RequestBody.create(MediaType.parse("image/png"), profileImage);
appCMSUserIdentityRest.putUserProfileImage(url, fileBody).enqueue(new Callback<UserIdentity>() {
@Override
public void onResponse(@NonNull Call<UserIdentity> call,
@NonNull Response<UserIdentity> response) {
if (response.body() != null) {
Observable.just(response.body())
.onErrorResumeNext(throwable -> Observable.empty())
.subscribe(userIdentityAction);
}
}
@Override
public void onFailure(@NonNull Call<UserIdentity> call, @NonNull Throwable t) {
Observable.just((UserIdentity) null)
.onErrorResumeNext(throwable -> Observable.empty())
.subscribe(userIdentityAction);
}
});
}
Файл содержит изображение.
Любая помощь?
Комментарии:
1. Я не понимаю вашего вопроса. Что вы пытаетесь сделать? Это сбой? Как? Можете ли вы предоставить журналы? Кстати, я заметил, что в вашем заголовке отсутствует пробел (не уверен, чувствителен ли ваш сервер к этому). Вместо
Content-Type:application/octet-stream
этого должно бытьContent-Type: application/octet-stream
2. смотрите этот пост: futurestud.io/tutorials /…