Beste Weg zum speichern von Benutzer-hochgeladene Dateien in einer webapp

Ich bin erstellen einer web-Anwendung (in Django), die Benutzern das hochladen von Dateien (speziell Bilder, die später angezeigt, für andere Nutzer). Ich versuche zu verstehen, der beste Weg, um diese hochgeladenen Dateien.

Vom Verwandte Fragen sah ich einige Leute vorgeschlagen, die Datei mit einem server-erzeugt einzigartige id, die dann beim erstellen einer DB-Tabelle, die eine Zuordnung der ids zu den ursprünglichen Dateinamen.

Ist dies der beste Ansatz, um das speichern von Benutzer-hochgeladene Dateien, Sicherheit, Effizienz oder beliebigen anderen Standpunkt? Welche Informationen muss ich speichern zu jeder Datei?

Gibt es andere best-practices " beteiligt, mit der Annahme vom Benutzer hochgeladenen Dateien? (Andere als sicher, Sie sind wirklich die Bilder und die überprüfung Ihrer Größe, natürlich)?

Bearbeiten: Ein wenig mehr info über das, was ich brauche. Ich spreche speziell über Bild-Dateien, die Benutzer benötigen, um hochladen und einbetten in die Inhalte, die Sie erstellen. Vorstellen, dass es wie ein StackOverflow-Antwort (oder einen blog-post): lädt jemand ein Bild hat, werden gespeichert und angezeigt, wenn jemand anderes sieht, ist die Antwort.

Dank,

Edan

Hinweis: Es gibt mehrere Fragen, aber ich habe nicht einen gefunden, der fragt, für die ein Vergleich von Möglichkeiten zum speichern der Benutzer-hochgeladene Dateien.

  • Hallo edan, ich bin kam das gleiche problem. Ich werde ein Programm erstellen, wo Benutzer können upload-images/PDF-Dateien. Dann können Sie Ansicht/herunterladen von Dateien. Ich denke der Datei-system-Speicher. Möchte nur wissen, welchen Weg hast du lieber aus deiner Erfahrung?
  • Die Richtung, die ich Plane auf dem gehen ist: 1. Eine Datenbank, in der Sie "meta" info (original-Datei-name, etc.). 2. Physischen Dateien auf dem Datei-system, mit einem Namen, der den index in der db die meta-info. Es kann mehr als eine physische Datei für jeden db-Eintrag, durch die Art und Weise, entsprechend verschiedenen Auflösungen, zum Beispiel. E. g., Ich werde die Dateien: 254_high_res.jpg, 254_los_res.jpg, wo 254 ist der index in der Datenbank der meta-info für die Datei 254.
  • danke edan. ich bin dabei, um Bilder zu speichern, die mit der radon-guid generiert Namen als Dateiname. und für die andere Auflösung, die ich nutzen werde-handler. dotnetslackers.com/articles/aspnet/...
InformationsquelleAutor Edan Maor | 2010-04-26
Schreibe einen Kommentar