Dateien stückweise in Datenbank hochladen
-
Hallo Leute,
ich möchte mit ASP.NET relativ große Dateien (10-100 MB) auf einen Server hochladen und dort in eine Datenbank schreiben.
Dazu möchte ich aber nicht den kompletten hochgeladenene Inhalt erst in ein großes Byte[] schreiben, sondern das ganze in Häppchen an die Datenbank durchreichen (ähnlich wie bei normalen Dateioperationen), da ich den Speicher des Servers schonen will.
Als Zusatzfeature soll nebenbei der MD5-Hash der Datei ermittelt werden, aber dazu bräuchte ich das ganze auch wieder in nem Byte[]...
Also wäre nett, wenn mir jemand nen Tipp geben könnte, wie sich sowas lösen lässt.
Danke schonmal!
eypo
-
Für MD5 gibt im .NET 1.1 ne Klasse (abstrakt) MD5 also einfach mal MD5 in Suche eingegen und MSDn benutzen!
Beispielcode dort:
byte[] data = new byte[DATA_SIZE]; // This is one implementation of the abstract class MD5. MD5 md5 = new MD5CryptoServiceProvider(); byte[] result = md5.ComputeHash(data);
für die Konsatnte kanste ja die Byteanzahl des Dateihäppchen nehmen und fertig ist der Kram!
-
hmm habe mal am MS SQL Server was gemacht aber gibts da überhaupt so grosse Feldtypen die soviele Daten aufnehemen wäre es nicht besser in einer Tabelle bloss den relativen Pfad zu der Datei zu speichern? Und wäre es nicht dann noch ratsam in nem versteckten Feld sich zu merken ob diese Datei zu dem Pfad noch existent ist!
Also sonst bläht man bei solchen Dateien die DB nur unnötig auf und das kann wieder andere Konsequenzen haben. Die Platte des Datenbankserver wird schnell voll!
Transaktionsprotokolldatei ist plötzlich zu und dein Server läuft überhaupt nicht mehr! Genervter BD-Admin, genervte DB-User und du rennst duch die Gänge deiner Abteilung mit einer meuchelnden Meute hinter Dir! Viel Spass
mfg sclearscreen