Image Upload

ASD20054

Mitglied
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:





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*/ 

    } 

}

und so sieht die upload.html aus:

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>



Hab mal so ein Script in PHP gemacht und würde das gerne in java haben.

Hier mal das was ich in PHP gemacht habe:



PHP:
$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 ASD
 
HI Thomas Darimont,
danke für deine Antwort. Ich bekomme 2 Fehlermeldungen beim Compilieren der Datei.
Könnte ich den Code auch in meine Java Datei packen oder muss ich extra eine neue erstellen? Und noch was, ich verwende kein Apache. Geht das denn auch ohne Apache?

Die Fehlermeldung lautet:
C:\Dokumente und Einstellungen\Daniel\Desktop\c\src\UploadServlet.java:27: illegal character: \64
@Override
^
C:\Dokumente und Einstellungen\Daniel\Desktop\c\src\UploadServlet.java:65: <identifier> expected
}
^
2 errors

Process completed.
 
Zuletzt bearbeitet:
Zurück