2011-01-02 5 views
5

Ich frage mich, wo sollte ich Dateien von Benutzer in meiner Anwendung hochgeladen speichern. Momentan speichere ich sie direkt in webapps/images/uploads (der Ordner "webapps" ist als "Resource Folder via mvc-resource" zugeordnet) und sie stehen sofort nach dem Upload zur Verfügung. Aber ich bin mir nicht sicher, ob das richtig ist. Wie wirkt sich die erneute Implementierung der Anwendung auf die bereits dort gespeicherten Dateien aus? Wird es nicht die Backups der Anwendung komplizieren? Also im Grunde, wo sollte ich sie auf dem Server speichern? und ist dies irgendwie durch die Verwendung von lokalen (Windows) oder Remote- (Linux) Server DankWo Benutzer Uploads im Frühjahr mvc-Anwendung zu speichern?

Antwort

5

Ich werde ein separates Verzeichnis außerhalb des Webapp-Verzeichnis des Anwendungsservers verwenden. Im Falle einer Aktualisierung der Anwendung scheint dies angemessener. Seien Sie vorsichtig, wie Sie den Dateinamen in der Datenbank speichern (es ist besser, die Datei ohne Pfad zu speichern, falls sich Änderungen ergeben).

+0

genau das ist worüber ich nachdenke, aber wie kann ich dieses Verzeichnis für die Öffentlichkeit zugänglich machen? Wie kann ich Inhalte daraus anbieten? – Schyzotrop

+0

Ich habe vergessen zu addieren Ich benutze tomcat 6 – Schyzotrop

+1

Sie können ein Verzeichnis in webapp platzieren. Der Inhalt wird als statische Ressourcen verfügbar sein. Sie können auch ein Servlet schreiben, das die Datei mit dem entsprechenden Inhaltstyp aus dem Upload-Verzeichnis zurückgibt. – Kartoch