/ / Nahrávanie viacerých obrázkov na server spôsobuje chyby - php, android, post, android-async-http

Nahrávanie viacerých obrázkov na server spôsobuje chyby - php, android, post, android-async-http

Používam aplikáciu Loopj AsyncHttpClient pre Androida funguje to ako kúzlo. Teraz sa snažím nahrať tri malé obrázky na môj server a mám nejaké problémy. Je to veľmi divné, pretože funguje perfektne, ak odovzdám 2 obrázky, ale keď sa pokúsim pridať tretinu k tej istej žiadosti, odpoveď servera predstavuje chybu 3 pri odovzdávaní súborov:

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

Keď to urobím:

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

funguje to ... ale keď pridám tretinu:

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

server nedokáže spracovať požiadavku ... Overil som si súbory, zdá sa, že aplikácia na strane servera funguje dobre (pokúsil som sa odoslať údaje poštou a funguje to)

Viete, prečo AsyncHttpClient zlyhal pri odovzdávaní 3 súborov, ale úspešne sa odovzdal 2?

vopred

odpovede:

2 pre odpoveď č. 1

Tento problém bol zavedený vo verzii 1.4.4 tejto knižnice. Nemal som čas kopať hlbšie, ale mám podozrenie na tento konkrétny záväzok: https://github.com/loopj/android-async-http/commit/9f73dc722fdf8b564bf1487eef395d0b7e4ae862 byť zodpovedný za tento problém.

Ako riešenie teraz používajte verziu 1.4.3. Malo by to fungovať dobre.


0 pre odpoveď č. 2

Po aktualizácii na 1.4.4 sa vyskytol podobný problém. Ak odovzdám 2 obrázky, server získa iba 1 obrázok (ak 3, získa 2). Po prehľadaní a testovaní viem, že server, môj kód a 1.4.3 sú v poriadku.

Dnes to vyskúšam:

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

Funguje to.