Læg det i databasen, men BLOB
datatype vil sandsynligvis ikke klippe det. MEDIUMBLOB
er normalt tilstrækkeligt.
BLOB, TEXT L + 2 bytes, where L < 216
MEDIUMBLOB, MEDIUMTEXT L + 3 bytes, where L < 224
LONGBLOB, LONGTEXT L + 4 bytes, where L < 232
Jeg har brugt dette flere gange med meget godt resultat. Sørg for også at gemme filstørrelsen, da det gør det nemmere at hente det. Ikke sikker på, om det gælder for C#, som det gør for PHP.
Hvis du bruger forberedte sætninger med parametre, vil dataene automatisk blive escaped AFAIK.
Jeg kan heller ikke se nogen reel grund til, hvorfor selve databasen ville blive langsom, når den gemmer denne type data i den. Den største flaskehals vil naturligvis være overførslen af dataene. Også MySQL er nogle gange restriktiv med hensyn til den maksimale længde af forespørgsler og svarene i særdeleshed.
Når du først har det kørende, er det ret pænt, især når du har at gøre med mange små filer. For et lille antal store filer giver denne tilgang ikke mening. Brug hellere et backupsystem til at håndtere flyttede/slettede filer.