RandUser13 0 Geschrieben 24. März 2022 Melden Teilen Geschrieben 24. März 2022 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". Zitieren Link zu diesem Kommentar
NilsK 2.940 Geschrieben 24. März 2022 Melden Teilen Geschrieben 24. März 2022 Moin, Müssen die Dateien denn in die Datenbank? Kannst du die nicht ins Dateisystem legen und in der DB einen Verweis darauf speichern? Gruß, Nils Zitieren Link zu diesem Kommentar
mwiederkehr 373 Geschrieben 24. März 2022 Melden Teilen Geschrieben 24. März 2022 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. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.