Frage

Ich möchte den Inhalt einer Datei als Teil einer HTTP-Anfrage mit Apache HttpClient senden und konnte nicht herausfinden, wie ich den Dateiinhalt im Anfragetext weitergeben soll.

War es hilfreich?

Lösung

Sie haben das Format nicht angegeben ...

Höchstwahrscheinlich möchten Sie eine POST-Anfrage senden, deren Inhalt sein wird Multipart-/Formulardaten Mime Typ.Dies emuliert, was ein Browser von einem <INPUT type="file" ...>-Formularelement sendet.Dies erfordert eine ziemlich ausgefeilte Analyse auf der Serverseite, um die verschiedenen Teile aus dem Textkörper zu extrahieren und die Dateidaten korrekt aus den anderen Feldern (falls vorhanden) zu extrahieren.Glücklicherweise, Commons-Datei hochladen macht das perfekt.Die erste Antwort bzgl FilePart ist genau richtig.

Alternativ können Sie einfach den Rohinhalt einer Datei als Hauptteil der Anfrage veröffentlichen, indem Sie eine verwenden InputStreamRequestEntity.Dies kann viel einfacher sein, wenn Sie Ihre eigene Serverseite schreiben, um die Daten zu empfangen.Die Serverseite ist so einfach wie das Streamen des InputStream der Anfrage auf die Festplatte.Ich verwende diese Technik für Uploads mit Google Gears.

Andere Tipps

Check out FilePart und verwandt.

Hier ist die Probe .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top