Su programa es correcto. Si el tamaño del archivo es pequeño, funcionará bien. Si está utilizando BLOB
tipo de datos para almacenar esos datos binarios, cámbielo a LONGBLOB
. Porque si intentaste guardar un archivo en BLOB
campo de datos, y si el tamaño del archivo es mayor que el tamaño máximo permitido del tipo de datos BLOB, el contenido se truncará y perderá parte del contenido del archivo (depende del tamaño del archivo). Incluso si usa LONGBLOB
tipo de datos hay algunas cosas que debe verificar. Te lo explico
En el sitio web de mysql podemos ver el tamaño máximo de archivo de LONGBLOB
es de 4 GB. Pero depende de muchas cosas. Para almacenar un archivo grande, debe verificar algunas cosas. Lo primero está en my.ini
archivo, hay una propiedad llamada max_allowed_packet
, especifica el paquete más grande posible que se puede transmitir hacia o desde un cliente o servidor mysql. Debe establecer max_allowed_packet
propiedad a un valor mayor. Y reinicie mysql. Algunos sistemas de archivos no permiten archivos de 4 GB. En ese caso, no puede cargar tanto archivo grande.
Creo que en tu caso configurando max_allowed_packet
propiedad a un valor más alto solucionará el problema.
Creo que puedes usar el siguiente script de creación de tablas
CREATE TABLE `image` (
`id` INT(10) NULL DEFAULT NULL,
`fs` LONGBLOB NULL,
`filen` VARCHAR(50) NULL DEFAULT NULL
)