あなたのプログラムは正しいです。ファイルサイズが小さい場合は、正常に機能します。 BLOBを使用している場合 そのバイナリデータを格納するデータ型は、LONGBLOBに変更します 。 BLOBにファイルを保存しようとした場合 データフィールドであり、ファイルサイズがBLOBデータ型の最大許容サイズを超える場合、コンテンツは切り捨てられ、ファイルの一部のコンテンツが失われます(ファイルサイズによって異なります)。 LONGBLOBを使用している場合でも データ型チェックしなければならないことがいくつかあります。説明します
mysqlのWebサイトでは、LONGBLOBの最大ファイルサイズを確認できます。 4GBです。しかし、それは多くのことに依存します。大きなファイルを保存するには、いくつかのことを確認する必要があります。まず、my.iniにあります ファイルには、max_allowed_packetというプロパティがあります 、mysqlクライアントまたはサーバーとの間で送受信できる最大のパケットを指定します。 max_allowed_packetを設定する必要があります より高い値へのプロパティ。そして、mysqlを再起動します。一部のファイルシステムでは、4GBのファイルは許可されません。その場合、それほど大きなファイルをロードすることはできません。
あなたの場合、max_allowed_packetを設定すると思います プロパティをより高い値にすると、問題が修正されます。
次のテーブル作成スクリプトを使用できると思います
CREATE TABLE `image` (
`id` INT(10) NULL DEFAULT NULL,
`fs` LONGBLOB NULL,
`filen` VARCHAR(50) NULL DEFAULT NULL
)