2015-12-28 6 views
0

Я использую Retrofit 2.0.0-beta2, и мне нужно загрузить некоторые файлы с моего PHP-сервера. Мой первый подход, который работал, заключался в том, чтобы напрямую использовать метод GET с его относительного пути к серверу, и я получал правильные байты.Неправильное тело ответа при попытке загрузить фотографию с помощью Retrofit2

Теперь я пробовал что-то более безопасное, которое доставляет файл мне на основании некоторых проверок. Он автоматически извлекает путь к файлу из БД и проверяет правильность сеанса пользователя. Это работает в тестах браузера, как на Chrome PC, так и на Chrome с Android, правильно загружать несколько фотографий.

Я подаю файл, используя X-Sendfile заголовок так:

header("X-Sendfile: $file_name"); 
header("Content-type: image/jpeg"); 
header('Content-Disposition: attachment; filename="' . basename($file_name) . '"'); 

Андроида стороне вызова выглядит следующим образом:

@Streaming 
@GET("/card/download") 
Call<ResponseBody> getCard(@Query("filename") String filename); 

Все, что я получаю, когда открытие файлы - это эхо-ответ от сервера. Есть ли способ получить «правильные» файлы?

ответ

0

По-видимому, была какая-то проблема с установкой мод.

Я также обновил OkHttp до версии 2.7.0