Hallo Leute,
Ich hab einen Java Chat und möchte da gerne den Usern einen Bildupload anbieten. Hat jemand von euch einen Codeschnippsel für ein Bilder Upload? Der chat arbeitet mit HTML Templates und ist kein applet sondern ein HTTP Stream.
Bin bis jetzt nur so weit gekommen um das Formular anzuzeigen, mir fehlt aber noch der Code um das Bild upzuloaden. Hier mal was ich bisher habe:
und so sieht die upload.html aus:Code:private void upload() { String s = this.vars.getProperty("service"); ChatSession sess = (ChatSession) this.serv.users.get(this.vars.getProperty("sessionid")); if(s.equals("index")) { ResultSet res; Template te; te = new Template((String) this.nhtmpl.get("chat/upload"), this.vars, this.serv, true); try { res = this.serv.db.createStatement().executeQuery("SELECT * FROM usertable WHERE nick = '"+HttpTools.escape(sess.getNick())+"'"); if(res.next()) { te.replace("%BILD%", res.getString("bild")); te.replace("%SESSIONID%", (String) sess.getSid()); } } catch(Exception ers) {} te.make(); this.serv.sendOutput(this.sock, HttpTools.getHeader(200, "text/html")+te.toString(), true); } if(s.equals("send")) { /*Hier soll der Upload Code rein*/ } }
Hab mal so ein Script in php gemacht und würd das gerne in java haben.Code:<center>Dein aktuelles Bild</center> <br> <center><img border='0' width='350' height='250' src='%BILD%'></center> <br> <form method='POST' action='http://%HOST%:%PORT%/UPLOAD' enctype='multipart/form-data'> <input type=hidden name='service' value='send'> <input type=hidden name='sessionid' value='%SESSIONID%'> <center>Bild auswählen</center><br> <center><input type=file name=file><br></center><br><center> <input name='submit' value='Bild Hochladen' type='submit'></center> </form>
Hier mal das was ich in php gemacht habe.
PHP-Code:$nick = $_SESSION["user_nick"];
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
if($type != "image/gif" && $type != "image/pjpeg") {
$err[] = "<center>Nur gif und jpeg Dateien dürfen hochgeladen werden.</center>";
}
if($size > "150000") {
$err[] = "<center>Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 150 KB!</center>";
}
if(empty($err)) {
$exp = explode('.',$name);
$ext = $exp[count($exp)-1];
move_uploaded_file($tempname, "files/up/$nick.$ext");
echo "<center>Die Datei $name wurde erfolgreich hochgeladen. Es kann ein paar Minuten dauern bis dein neues Bild erscheint!</center>";
mysql_query("update usertable set bild = 'files/up/$nick.$ext' WHERE nick = '$nick' ");
}
else {
foreach($err as $error)
echo "$error<br>";
}
gibt es sowas ähnliches in Java ??
Hoffe ihr könnt mir weiterhelfen.
MFG Teo

LinkBack URL
About LinkBacks


Zitieren
Lesezeichen