2013-09-17 3 views
0

В настоящее время мы пытаемся запустить волейбол для загрузки изображений в NetworkViews.Неожиданный код ответа 412 при запросе изображений с волейболом

Изображений запрашиваются и загружается залпом в этой строке:

holder.image.setImageUrl(image.getUrl(), imageManager.getImageLoader()); 

На устройстве моей напарницы работает гладко, но на шахте и третье испытание устройство мы получаем кучу залпа ошибки и Некоторые изображения остаются пустыми (изображения на обоих устройствах различаются).

Изображения все на одном сервере, и мы абсолютно не видим причин, по которым некоторые изображения загружаются, а некоторые - нет или почему они должны быть зависимыми от устройства, какие изображения загружаются.

09-17 14:15:51.660: E/Volley(19440): [1087] BasicNetwork.performRequest: Unexpected response code 412 for xxxx 

Итак, как мы можем исправить это и что может быть причиной такого поведения?

ответ

0
imageLoader.get(image_url, ImageLoader.getImageListener(viewHolder.status_pic, R.drawable.icon_loading, R.drawable.icon_error)); 

его лучше использовать слушатель при получении изображения с залпом, но Error 412 - Предпосылкой Failed

Почему это происходит

Сервера, не соответствует одному из предварительных условий, запрашивающие поставить на запрос. т. е. заголовок запроса указывает информацию о допустимых файлах, которые не применимы к запрашиваемому файлу.

+0

Но мы не меняем никаких предварительных условий, и все изображения являются файлами png на одном сервере, так почему некоторые загружаются, а некоторые нет? Кроме того, почему на некоторых устройствах существуют только проблемы? Собирает ли волейбол заголовки запросов зависимых устройств? – user2787503

+0

У вас есть какой-нибудь ключ к решению вопроса? : http://stackoverflow.com/questions/19009312/how-to-detect-412-precondition-failed-errors-in-android-webview-url –

1

запрос очистить кэш перед тем rQueue.getCache().clear(); я смотрел на сбор данных по Volley представляется, если кэш, а затем добавили два заголовка HTTP информации If-None-Match & If-Modified-Since, эти два параметра, чтобы обновить информацию, используемую для определения кэша, если веб-сервер не поддерживает, возвращает код ошибки 412

+0

Где я должен добавить эту строку в 'AppController'? В каком методе? –

Смежные вопросы