Ditt program är korrekt. Om filstorleken är liten kommer det att fungera bra. Om du använder BLOB
datatyp för att lagra den binära datan, ändra den till LONGBLOB
. För om du försökte spara en fil i BLOB
datafält, och om filstorleken är större än den högsta tillåtna storleken på BLOB-datatypen kommer innehållet att trunkeras och du kommer att förlora en del innehåll i filen (beror på filstorleken). Även om du använder LONGBLOB
datatyp det finns några saker du måste kontrollera. Jag ska förklara
På mysql-webbplatsen kan vi se den maximala filstorleken LONGBLOB
är 4GB. Men det beror på många saker. För att lagra stora filer måste du kontrollera vissa saker. Det första är i my.ini
fil, det finns en egenskap som heter max_allowed_packet
, specificerar det största möjliga paket som kan överföras till eller från en mysql-klient eller -server. Du bör ställa in max_allowed_packet
fastighet till ett högre värde. Och starta om mysql. Vissa filsystem tillåter inte 4GB-filer. I så fall kan du inte ladda så mycket stor fil.
Jag tror i ditt fall inställningen max_allowed_packet
fastighet till ett högre värde kommer att lösa problemet.
Jag tror att du kan använda följande skript för att skapa tabeller
CREATE TABLE `image` (
`id` INT(10) NULL DEFAULT NULL,
`fs` LONGBLOB NULL,
`filen` VARCHAR(50) NULL DEFAULT NULL
)