2014-01-21 4 views
2

Я использую Loopj AsyncHttpClient для Android, и это работает как шарм. Теперь я пытаюсь загрузить три небольших изображения на свой сервер, и у меня возникают некоторые проблемы. Это очень странно, потому что он отлично работает, если я загружаю 2 изображения, но когда я пытаюсь добавить третий к тому же запросу, ответ сервера ошибка 3 для загрузки файлов:Загрузка нескольких изображений на сервер вызывает ошибку

UPLOAD_ERR_PARTIAL 
Value: 3; The uploaded file was only partially uploaded. 

Так что, когда я это:

params.put("photo1", f1); 
params.put("photo2", f2); 

это работает ... но когда я добавить третий:

params.put("photo1", f1); 
params.put("photo2", f2); 
params.put("photo3", f3); 

сервер не может обработать запрос ... Я проверил файлы, т он работает на стороне сервера, кажется, работает нормально (я попытался отправить данные с почтальоном, и он работает)

Знаете ли вы, почему AsyncHttpClient не сможет загрузить 3 файла, но удастся загрузить 2 ??

спасибо заранее

+0

Как вы получаете файлы со своей стороны? – kabuto178

+0

omg У меня было то, что случилось со мной! Большое спасибо за вопрос! – n3wb

ответ

2

Эта проблема была введена с версии 1.4.4 этой библиотеки. У меня не было времени копать еще глубже, но я подозреваю, что это конкретное сообщение: https://github.com/loopj/android-async-http/commit/9f73dc722fdf8b564bf1487eef395d0b7e4ae862 несут ответственность за эту проблему.

В качестве обходного пути используйте версию 1.4.3. Он должен работать нормально.

+0

thanx! Я дам ему взгляд –

+0

Большое спасибо за ответ! Я попробую это, когда я доберусь до него! = D – n3wb

+0

Вы спасли мою жизнь !!!! – hguser

0

У меня возникла аналогичная проблема после обновления до 1.4.4. Если я загружу 2 изображения, сервер получит только 1 изображение (если 3, получит 2). После поиска и тестирования я знаю сервер, мой код и 1.4.3 в порядке.

Сегодня я стараюсь это:

params.put("photo1", new FileInputStream(f1)); 
params.put("photo2", new FileInputStream(f2)); 
params.put("photo3", new FileInputStream(f3)); 

Он работает.

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