HttpPost ist fehlgeschlagen aufgrund von "Kann die Anforderung nicht mit einer nicht wiederholbaren Anforderungseinheit wiederholen"

Ich habe versucht, ein Foto auf einen Server von HttpClient in Android Mobile hochladen, aber manchmal bekomme ich diesen Fehler, es passiert nicht immer. Wer weiß, wie man es lösen kann?

Mein Code wie:

  • Android erhält Wert von ausgewähltem Radiobutton
  • 3D-Würfelübergang in Android
  • Android - Wie kann ich den Paketnamen für die Erstellung eines Open-Source-Projekts dynamisch festlegen?
  • Charles ssl Zertifikat-Download fehlgeschlagen "wegen Netzwerk-Ausfälle"
  • Benutzerdefinierter ArrayAdapter in einem ListFragment
  • Holen Sie sich den Akku nur einmal mit Android SDK
  • HttpClient client =new DefaultHttpClient(); HttpPut httpPut = new HttpPut(uploadUrl); InputStream in =null; HttpResponse response =null; try { in = new FileInputStream(filepath); BasicHttpEntity entity = new BasicHttpEntity(); entity.setContent(in); entity.setContentLength(new File(basepath+path).length()); httpPut.setEntity(entity); response = client.execute(httpPut); System.out.println(response.getStatusLine()); consume(response.getEntity()); } 

    …….

    Fehlerinfo:

     11-22 10:32:50.370: W/System.err(15224): org.apache.http.client.ClientProtocolException 11-22 10:32:50.370: W/System.err(15224): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:557) 11-22 10:32:50.370: W/System.err(15224): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 11-22 10:32:50.370: W/System.err(15224): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465) 11-22 10:32:50.370: W/System.err(15224): at com.hp.nimbus.android.skydrive.util.SkyDriveUtils_Rest.doUploadPhoto(SkyDriveUtils_Rest.java:203) 11-22 10:32:50.380: W/System.err(15224): at com.hp.nimbus.android.skydrive.util.SkyDriveUtils_Rest.uploadPhoto(SkyDriveUtils_Rest.java:250) 11-22 10:32:50.380: W/System.err(15224): at com.hp.nimbus.android.skydrive.FolderMonitorService$1.onEvent(FolderMonitorService.java:36) 11-22 10:32:50.380: W/System.err(15224): at android.os.FileObserver$ObserverThread.onEvent(FileObserver.java:125) 11-22 10:32:50.380: W/System.err(15224): at android.os.FileObserver$ObserverThread.observe(Native Method) 11-22 10:32:50.380: W/System.err(15224): at android.os.FileObserver$ObserverThread.run(FileObserver.java:88) 11-22 10:32:50.380: W/System.err(15224): Caused by: org.apache.http.client.NonRepeatableRequestException: Cannot retry request with a non-repeatable request entity 11-22 10:32:50.380: W/System.err(15224): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:419) 11-22 10:32:50.380: W/System.err(15224): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) 11-22 10:32:50.390: W/System.err(15224): ... 8 more 

  • NoSuchMethodError: String.isEmpty
  • Android Studio fehlgeschlagen Build NDK-Projekt Nicht-Null-Exit-Wert
  • Android: Test app auf ein echtes Gerät
  • Wie importiere / exportiere ich Android-String-Ressource in Excel für die Lokalisierung?
  • Broadcasting Android Kamera Video
  • Keine statische Methode zzUr () in Firebase, wenn ich versuche, Analytics mit Benachrichtigungen zu verwenden
  • 2 Solutions collect form web for “HttpPost ist fehlgeschlagen aufgrund von "Kann die Anforderung nicht mit einer nicht wiederholbaren Anforderungseinheit wiederholen"”

    Es bedeutet, dass die anfängliche Anforderung fehlgeschlagen ist und weil es ein Stream ist, kann es nicht wiederholen.

    Wenn Sie das FileInputStream entfernen und stattdessen FileEntity , glaube ich, dass es wiederholbar sein wird.

    Du musst auch nicht die Länge setzen.

    Möglicherweise ein bisschen spät, um diese Frage zu beantworten, aber für Leute, die auf dieser Seite landen, ist der Grund für die Ausnahme BasicHttpEntity keine wiederholbaren Anfragen zulassen. Sie müssen die richtige HttpEntity Implementierung verwenden.

    Für den Fall dieser Frage wird es FileEntity wie Matthew Flaschen in der anderen Antwort erwähnt hat, aber für die meisten anderen Fälle kann StringEntity verwendet werden, die wiederholbare Anfragen erlaubt.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.