2016-05-24 10 views
0

Ich lade Datei in meiner Webanwendung hoch. Sobald die App jedoch neu bereitgestellt wird, werden die hochgeladenen Dateien ebenfalls gelöscht. Ich habe meine Dateien in webapp/images gespeichert. Aber ich habe gelesen, dass "Dateien außerhalb des Web App-Standorts hochgeladen werden sollten." Wo muss ich die Datei hochladen? Zum Beispiel auf der Festplatte C oder D?Wo muss ich hochgeladene Dateien in maven spring mvc speichern?

Antwort

1

Zur Kasse Spring Uploading files Handbuch. Es gibt einen Befehl mit dem Namen CommandLineRunner, der das Verzeichnis für Sie erstellt.

Sie wollen auch einen Zielordner Dateien zu laden, so gibt es eine Java 8 Lambda verwendet, um einen Boot-CommandLineRunner beim Start zu schaffen, die dass Ordner erstellt.

Das Snippet ist:

@Bean 
    CommandLineRunner init() { 
     return (String[] args) -> { 
      new File(ROOT).mkdir(); 
     }; 
    } 
+0

Ich speicherte Dateien: 'File newFile = neue Datei (Pfad + Dateiname);' Wie muss mein Weg sein? –

0

Wenn Sie diese Dateien unabhängig von Ihrem Webapp anhalten wollen, natürlich müssen Sie es in einen Ordner Ihrer Wahl speichern, aber außerhalb der App dir (auf der Server oder ein beliebiges Netzwerkverzeichnis). Sie könnten einen beliebigen Writer dafür verwenden (normalerweise BufferedWriter).

Sie könnten Eigenschaften haben, die den Verzeichnispfad angeben, auf diese Weise ist es einfach, sie zu ändern.

0

Sie müssen Ihre hochgeladenen Daten außerhalb Ihres Apps-Verzeichnisses hochladen. Achten Sie darauf, Sicherungen dieser Daten zu erstellen.

+0

Ich habe in ** C: /apache-tomcat-8.0.18/uploads/images/ ** hochgeladen. Aber dann kann ich keine Bilder in meinem JSP bekommen, Fehler bekommen ** Lokale Ressource darf nicht geladen werden ** –

+0

Wie lädst du sie? – dunni

+0

'MultipartFile file = uploadedFile.getFile(); Zeichenfolge fileName = file.getOriginalFilename(); String path = "C: /apache-tomcat-8.0.18/uploads/images/"; inputStream = file.getInputStream(); Datei newFile = neue Datei (Pfad + Dateiname); newFile.createNewFile(); ' –

Verwandte Themen