Jump to content

Dateien in SQL Server Datenbanktabelle speichern und auslesen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen, 

 

ich entwickle Momentan eine Webseite mit Anbindung an eine MS SQL Server Datenbank. 

In der Datenbank befindet sich eine Tabelle zum Speichern von Dateien, die auf der Webseite hochgeladen werden. 

Meine Frage: 

Hat jemand Erfahrungen damit und kann mir helfen die Download- und Upload-Funktion zu realisieren?

 

Momentaner Zustand: 

In der Tabelle befindet sich eine Spalte vom Datentypen varbinary(MAX). 

Der Upload funktioniert über ein PHP Skript, in dem eine Datei ausgelesen wird und die Binärdaten zunächst in einen Hex-Wert umgewandelt und dann mit Hilfe eines INSERTs in die DB geschrieben werden. 

Beim Download stoße ich auf Schwierigkeiten und bekomme die Datei nicht richtig ausgelesen und wieder "zusammengebaut". 

 

Link zu diesem Kommentar

Wie Nils schon geschrieben hat, ist es evtl. einfacher, die Dateien im Dateisystem abzulegen.

 

Falls sie in die Datenbank müssen, ist varbinary schon richtig. Du kannst die Daten als Byte-Array speichern und wieder auslesen. (Oder Du nimmst varchar und speicherst die Daten Base64-codiert, das benötigt aber ca. 30% mehr Speicher.) Pass auf, dass Du nur die reinen Daten in der varbinary-Spalte speicherst. Evtl. hast Du die Daten als Base64 vorliegen nach dem Upload.

 

Mime-Typ und Dateiname musst Du separat speichern, um die Dateien sinnvoll zum Download anbieten zu können.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...