Váš program je správný. Pokud je velikost souboru malá, bude to fungovat dobře. Pokud používáte BLOB datový typ pro uložení těchto binárních dat, změňte jej na LONGBLOB . Protože pokud jste se pokusili uložit soubor v BLOB datové pole, a pokud je velikost souboru větší než maximální povolená velikost datového typu BLOB, obsah bude zkrácen a ztratíte část obsahu souboru (závisí na velikosti souboru). I když používáte LONGBLOB datový typ existuje několik věcí, které musíte zkontrolovat. Vysvětlím
Na webu mysql můžeme vidět maximální velikost souboru LONGBLOB je 4 GB. Ale záleží na mnoha věcech. Chcete-li uložit velký soubor, musíte zkontrolovat některé věci. První věc je v my.ini existuje vlastnost nazvaná max_allowed_packet , určuje největší možný paket, který lze přenést na nebo z klienta nebo serveru mysql. Měli byste nastavit max_allowed_packet majetek na vyšší hodnotu. A restartujte mysql. Některé systémy souborů neumožňují soubory o velikosti 4 GB. V takovém případě nemůžete načíst tak velký soubor.
Myslím, že ve vašem případě nastavte max_allowed_packet vlastnost na vyšší hodnotu problém vyřeší.
Myslím, že můžete použít následující skript pro vytvoření tabulky
CREATE TABLE `image` (
`id` INT(10) NULL DEFAULT NULL,
`fs` LONGBLOB NULL,
`filen` VARCHAR(50) NULL DEFAULT NULL
)