Загружаю файл с сервера с помощью Retrofit 2, возник вопрос, как можно с Headers с Content-Disposition получить название файла?
@GET("file/{msg}")
Observable<ResponseBody> getFile(@Path("msg") String msg);
Метод для загрузки файла:
public static void receiveFileServer(String msg) {
Subscription subscription = BaseApi.getInstance().service.getFile(msg)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(file -> {
writeResponseBodyToDisk(file);
}, throwable -> {
Log.e("File from server error", String.valueOf(throwable));
});
addSubscription(subscription);
}
public static void addSubscription(Subscription subscription) {
compositeSubscription.add(subscription);
}
Я убрала RxJava
, и переписала код, получила нужный Header
с помощью response.headers().get("Content-Disposition")
.
Измененный код:
@GET("file/{msg}") Call getFile(@Path("msg") String msg);
метод для загрузки файла:
public static void receiveFile(String msg, File fileReceived, String senderJid) {
Call<ResponseBody> call = BaseApi.getInstance().service.getFile(msg);
call.enqueue(new Callback<ResponseBody>(){
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
String contentDisposition= response.headers().get("Content-Disposition");
writeResponseBodyToDisk(response.body());
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
}
Если кто-то знает, как получить данный Header используя RxJava
буду признательна ответу.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
github-corner, помещенный в блок aside выходит на ползунок прокрутки с правой стороны окна браузераКому не трудно, помогите с правкой, пожалуйста
Я пытаюсь создать регистрационную формуДля этого использую html в связке с thymeleaf