Horst: Hochgeladene Dateien im ASCII-Format in einer DB speichern

Beitrag lesen

Hallo Mitstreiter,

siehe Thema. Max_Size ist 0.7 MB/File. Die Dateien werden im ASCII-Zeichensatz (Base64_encode, _decode) in ein Textfeld geschrieben. Damit bin ich unabhängig vom verwendeteten Zeichensatz, den die RDMS spricht (in meinem Fall mySQL).

Ein Kollege indes warnte mich davor, Dateien in der DB selbst zu speichern. Begründen konnte er das jedoch nicht.

Hier mal die Vorteile, die ich sehe:

  • konsistente Datenhaltung ohne Medienbrüche zwischen Filesystem und DB,
  • in der DB stehen fakultative Angaben zur Datei, wie z.B. eine Beschreibung,
  • Weitere Felder eines Records sind: Content-type, size,
  • da die Dateien Base64 codiert und der Content-Type gespeichert sind, wird das automatisierte Erstellen von Mails vereinfacht,
  • ebenso ist es für die Anwendung einfach, den für den Content-Type richtigen Header zusammenzubauen und die Datei zum Browser zu schicken,
  • Suchmöglichkeit in der DB.

Hier mache ich mal einen Punkt und bitte Euch, ein paar Nachteile dieser Diät zusammenzutragen.

Viele Grüße,
Horst Haselhuhn