Hallo,
ich möcht für ein Bilderupload Bilder per POST-Request an einen Webserver schicken, auf dem dann ein PHP-Skript die empfangene File speichert...
Also hab ich versucht mittels Socket den POST-Request zu schicken. Das Foto kommt nun auch an (richtiges Format usw.) aber wenn man das empfangene Bild öffnet sieht man nur Artefakte. Ich hab das Originalbild mit dem gesendeten mal im Hex-Editor verglichen: Beim empfangenen sind manche Bytes zu Fragezeichen geworden ?!?!
Vielen Dank im Vorraus....
ich möcht für ein Bilderupload Bilder per POST-Request an einen Webserver schicken, auf dem dann ein PHP-Skript die empfangene File speichert...
Also hab ich versucht mittels Socket den POST-Request zu schicken. Das Foto kommt nun auch an (richtiges Format usw.) aber wenn man das empfangene Bild öffnet sieht man nur Artefakte. Ich hab das Originalbild mit dem gesendeten mal im Hex-Editor verglichen: Beim empfangenen sind manche Bytes zu Fragezeichen geworden ?!?!
Vielen Dank im Vorraus....
Code:
public static void main(String[] args) throws IOException{
Socket sock = new Socket("localhost", 80);
OutputStream out = sock.getOutputStream();
InputStream in = sock.getInputStream();
// Bildlesen
BufferedInputStream bildin = new BufferedInputStream( new FileInputStream("foto.jpg"));
int i;
String content = "";
while( (i = bildin.read()) != -1 ){
content += (char)i;
}
// HTTP-Request
String head1 = "POST /dev/develope/java/post.php HTTP/1.0" + "\r\n" +
"Accept: text/html, image/jpeg, image/gif, */*" + "\r\n" +
"Accept-Charset: iso-8859-1,*,utf-8" + "\r\n" +
"Content-type: multipart/form-data; boundary=12345" + "\r\n";
String body = "--12345\r\n" +
"Content-Disposition: form-data;name=\"data\";filename=\"foto.jpg\"" + "\r\n" +
"Content-Type: image/jpeg" + "\r\n\r\n" +
content + "\r\n";
String head2 = "Content-Length: " + body.length() + "\r\n\r\n";
String end = "--12345--\r\n";
out.write((head1 + head2 + body + end).getBytes());
in.close();
out.close();
sock.close();
}