Hallo ich habe ein kleine Problem und zwar möchte ich ein Bild und Text an einen Webserver schicken
Das mit dem Bild Funktioniert auch schon nun möchte ich aber noch einen Text mitschicken wie z.B eine Beschreibung nur weiß ich leider nicht wie ich das angehen soll.
ich Möchte es dann wie wen ich in Php ein Formular Übergebe
ich kenn mich jetzt erlich gesagt auch nicht so gut damit aus wie man FILE richtig umsetzt … aber am ende sind es ja alles nur POST daten … also könnte man das ganze auch als reinen POST request basteln …
ansonsten wäre der einfache weg : nimm WireShark und beobachte den request den dein browser macht … und bau den nach … das sollte dann passen
Was Du hier machen möchtest, nennt sich multipart-formdata. Enhalten sein soll ein binärer Anteil und ein Text eines Form-Fields (so wie es ein Browser machen würde). Hier ein Link, wo das Schritt für Schritt erklärt ist (erste Antwort): http://stackoverflow.com/questions/11766878/sending-files-using-post-with-httpurlconnection
Du siehst, mit HttpUrlConnection ist das recht viel manueller Aufwand. Wenn’s Dich nicht stört, gut. Ansonsten schaue Dir mal HTTP-Clientframeworks an, z.B. das von Apache: http://hc.apache.org/httpcomponents-client-ga/
Ehm, Boundarys/Attachements werden doch meist nur für Files genutzt oder nicht?
Post-Daten werden doch direkt als body mit NameValue-Pairs geschrieben oder täscueh ich mich da?
String data = "beschreibung=Inhalt&test=Hallo%20Welt&andere_variable=Test123";
dos = new DataOutputStream(conn.getOutputStream());
dos.writeBytes("Content-Length: " + data.length() + "
");
dos.writeBytes("Content-Type:application/x-www-form-urlencoded
");
dos.writeBytes("
"); // Hier fängt der Body an
dos.writeBytes(data);