sql >> Base de Datos >  >> RDS >> Mysql

BLOb:no se pueden leer todos los datos, pero pocos kb

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
)