2012-04-05 7 views
0

Gemäß der aktuellen Anforderung lädt der Benutzer Dateien mit einer großen Größe hoch, die er möglicherweise später herunterladen möchte. Ich kann die hochgeladenen Dateien nicht in der DB speichern, da die Größe der Dateien groß ist und die Leistung beeinträchtigt wird, wenn ich hochgeladene Dateien in der Datenbank abspeichere. Jeder kennt ein Java-Plugin, das eine effiziente Dateiverwaltung auf dem Webserver ermöglicht und den Link zur Datei beibehält, so dass die Datei heruntergeladen werden kann, wenn der Link angefordert wird. Außerdem wird der Code sicherstellen, dass der Benutzer nur die Dateien herunterladen kann, die von ihm hochgeladen wurden, er kann keine Datei herunterladen, indem er einfach den Download-Link ändert usw. Ich benutze spring3 als Framework.Gibt es ein Java-Plugin/-Code zum Verwalten hochgeladener Dateien?

Bitte schlagen Sie vor, wie Sie dieses Problem lösen können?

Antwort

0

Wenn Sie Schreibzugriff auf das Dateisystem haben, warum speichern Sie sie nicht einfach dort? dann generieren Sie eine eindeutige ID und speichern Sie die Hash/Datei-Beziehung in db, müssen Sie dann die ID bereitstellen, um den Datei-Feed von einem Servlet

0

Speichern Sie den Dateiinhalt auf einem Teil des Dateisystems aus der Webanwendung so Sie können es nicht erreichen, indem Sie die Verbindung ändern.

Dann können Sie in db den Pfad für diese Datei speichern und sie nur zurückgeben, wenn der Benutzer die Berechtigungen zum Lesen hat.

Achten Sie darauf, dass nicht alle Dateien im selben Ordner gespeichert werden oder dass die Anzahl der Dateien zu stark anwächst. So finden Sie eine Möglichkeit, sie mit mehr Ordnerebenen zu speichern.

Verwandte Themen