W skrócie jest tak.
W API 3.0 do Google Docs pliki wysyła się (czy to po raz pierwszy, czy po to by je zupdatować) w kawałkach.
Najpierw pod specjalny adres wysyła się info o pliku, serwer zwraca lokalizację gdzie trzeba wszystko wysyłać.
Taka jest teoria. I w większości miejsc się sprawdza ;-)
Ale nie w Androidzie. Tutaj po wysłaniu PUT do pierwszego adresu zamiast lokalizacji przychodzi błąd 411 Length Required.
Czemu?
Bo w niektórych wersjach Androida był błąd powodujący, że ustawienie Content-Length na 0 sprawiało, że ten nagłówek nie był ustawiany...... [co najlepsze czasami].
Walczyłem, szukałem po sieci i nic.
Na PC działa, na Androidzie 1.6 nie działa. Na 2.2 działa......
I w końcu znalazłem rozwiązanie ;-)
Skoro Content-Length nie jest dodawane gdy jest równe 0 to może by ustawić je na 1 i wysłać w tym pierwszym requeście dokładnie 1 bajt? :-)
Spróbowałem i działa :-)
Podobne postybeta
Naprawdę uwielbiam...
Ha! Ochidna Echidna potrafi updatować pliki :-)
iCloud jest podły....
Programowanie jest stresujące
Czy psy lubią gdy zwraca się na nie uwagę?
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz