2012-09-27 8 views
5

Pracuję nad aplikacją mobilną dla systemu Android, która wykorzystuje wtyczkę Facebook Connect (https://github.com/davejohnson/phoneg...) Dave'a Johnsona, Camera i FileTransfer. Zasadniczo użytkownik klika przycisk, aby zrobić zdjęcie (Aparat uruchamia się, użytkownik robi zdjęcie), a następnie to zdjęcie jest przesyłane do serwera. Problem polega na tym, że po raz pierwszy wszystko jest w porządku, ale po ponownym naciśnięciu przycisku, aby zrobić drugie zdjęcie, zdjęcie nie może zostać przesłane na serwer, a zwrócony błąd pochodzi z FileTransfer - kod błędu 3.Phonegap Android Filetransfer Kod błędu 3

I ustaw opcje options.chunkedMode = false; To nie pomaga.

Wiem, że to jest błąd połączenia. Dodałem do białej listy domenę, do której przesyłam obraz w pliku /res/xml/cordova.xml. Dużo szukałem w Internecie, aby znaleźć działające rozwiązanie, ale inni na to narzekają, ale nie ma żadnego działającego rozwiązania. Używam Cordova 1.8.1 (testowałem także z wersjami 1.8.0, 1.7.0, 1.6.1, 1.5.0). Testowałem z nowszymi wersjami Phonegapa na przykład 1.9.0, ale nie mogę zbudować projektu - wtyczka do Facebooka nie działa z tą wersją Phonegapa. Testuję używając Emulatora Android 4.1 (API 16). Próbowałem różnych rzeczy, aby działało, gdy patrzyłem na logi w szczegółach, ale nie mogłem sprawić, żeby działało. Próbuję znaleźć rozwiązanie, ponieważ jest to bardzo ważne, pomóż mi rozwiązać ten problem. Z góry dziękuję za odpowiedzi.

+0

rozwiązuje ten jeden. ten sam problem .... – Aravin

+0

Witam, czy znalazłeś rozwiązanie powyższego problemu? Proszę, podziel się, jeśli tak. – Stone

Odpowiedz

0

Można spróbować jednego z nich:

zestaw androida: debuggable = "true" w tagu z pliku AndroidManifest.xml.

Ustaw zamiast po prostu * jak to zaleca się w komentarzach w sposób następujący:

<!-- <access origin="https://example.com" /> allow any secure requests to example.com --> 
<!-- <access origin="https://example.com" subdomains="true" /> such as above, but including subdomains, such as www --> 
<!-- <access origin=".*"/> Allow all domains, suggested development use only --> 

Z; https://stackoverflow.com/a/12011782/610880

+3

Dziękuję Braunsonowi za szybką odpowiedź, ale twoja rada nie pomogła. Mój wniosek jest taki, że jeśli coś było nie tak albo w plikach konfiguracyjnych, albo w kodzie źródłowym, nie przesłałoby się pomyślnie za pierwszym razem. Dziwne jest to, że przy jednym algorytmie po raz pierwszy wszystko jest w porządku, ale po drugim kliknięciu FileTransfer podaje błąd z dokładnie tym samym algorytmem. Proszę zasugerować inne podejście do problemu, to nie jest działające rozwiązanie. – mmsv

0

Jest to utrwalona błąd w bibliotece PhoneGap, ponieważ nie było żadnych poprawek, musiałem dostać pracy przez moją pracę wokół (Zasadniczo reupload na każdej awarii alternatywnego):

ft.upload(path, 
      encodeURI("http://yourdomain.com/upload.php"), 
      function(result) { 
       alert("Uploaded"); 
      }, 
      function(error) { 
     ft.upload(path, 
     encodeURI("http://yourdomain.com/upload.php"), 
     function(result) { 
       alert("Uploaded");     
     }, 
     function(error) { 
      alert("Error uploading image"); 
     }, 
     { fileName: name, fileKey: "file", mimeType: "image/jpeg", chunkedMode: false }, true);  
       }, 
       { fileName: name, fileKey: "file", mimeType: "image/jpeg", chunkedMode: false }, true); 
Powiązane problemy