Как получить название файла с Content-Disposition с Headers в Retrofit 2?

300
11 марта 2017, 01:26

Загружаю файл с сервера с помощью 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);
    }
Answer 1

Я убрала 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 буду признательна ответу.

READ ALSO
Элемент заходит на ползунок

Элемент заходит на ползунок

github-corner, помещенный в блок aside выходит на ползунок прокрутки с правой стороны окна браузераКому не трудно, помогите с правкой, пожалуйста

232
Как сделать кнопку картинкой?

Как сделать кнопку картинкой?

Как сделать, чтобы button была картинкой?

331
Часть html кода c thymeleaf не отображается

Часть html кода c thymeleaf не отображается

Я пытаюсь создать регистрационную формуДля этого использую html в связке с thymeleaf

331