2016-05-24 7 views
0

I Speichern von Dateien von Benutzern hochgeladen wie folgt:Wo hochgeladen statische Dateien mit Apache Tomcat speichern

InputStream inputStream = null; 
OutputStream outputStream = null; 

MultipartFile file = uploadedFile.getFile(); 

String fileName = file.getOriginalFilename(); 
String path ="C:/apache-tomcat-8.0.18/uploads/images/"; 

try { 
    inputStream = file.getInputStream(); 
    File newFile = new File(path +fileName); 
    if (!newFile.exists()) { 
    System.out.println(newFile.getAbsolutePath()); 
    newFile.createNewFile(); 
    } 
    outputStream = new FileOutputStream(newFile); 
    int read = 0; 
    byte[] bytes = new byte[1024]; 

    while ((read = inputStream.read(bytes)) != -1) { 
    outputStream.write(bytes, 0, read); 
    } 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
finally { 
    outputStream.close(); 
} 

Was muss der Pfad sein, wo die hochgeladenen Dateien gespeichert werden sollen? Ich möchte Bilder speichern und auf JSP-Seiten anzeigen.

Ich habe zunächst die Dateien in der webapp/images Ordner meines Maven-Projekts gespeichert. Wenn die App jedoch erneut bereitgestellt wird, werden die hochgeladenen Dateien ebenfalls gelöscht. Wie kann ich dieses Problem lösen?

Wenn ich in hochladen C: /apache-tomcat-8.0.18/uploads/images/ Ich kann nicht Bilder auf meiner JSP-Seite angezeigt werden. Get error Nicht erlaubt, lokale Ressource zu laden.

+0

Wenn Ihre JSP im Browser gerendert wird, was bedeutet der HTML-Code für Bilder ('' ) aussehen? – manish

Antwort

0

Der beste Weg zum Speichern von Dateien auf der Festplatte ist die Verwendung der Content Repository API für Java (JCR). Ich schlage Jackrabbit vor.

Werfen Sie einen Blick auf diese Antwort Recommended way to save uploaded files in a servlet application

+0

Ich sah link Es gibt 'Datei uploads = neue Datei ("/Pfad/zu/uploads ");' Aber ich nicht und was schreibe ich muss ich schreiben? Ist es nicht in meiner Webapp? –

Verwandte Themen