Seu programa está correto. Se o tamanho do arquivo for pequeno, funcionará bem. Se você estiver usando
BLOB
tipo de dados para armazenar esses dados binários, altere-os para LONGBLOB
. Porque se você tentou salvar um arquivo em BLOB
campo de dados, e se o tamanho do arquivo for maior que o tamanho máximo permitido do tipo de dados BLOB, o conteúdo será truncado e você perderá algum conteúdo do arquivo (depende do tamanho do arquivo). Mesmo se você usar LONGBLOB
tipo de dados, há algumas coisas que você deve verificar. eu vou explicar No site mysql podemos ver que o tamanho máximo do arquivo de
LONGBLOB
é 4GB. Mas depende de muitas coisas. Para armazenar arquivos grandes, você precisa verificar algumas coisas. A primeira coisa está em my.ini
arquivo, existe uma propriedade chamada max_allowed_packet
, ele especifica o maior pacote possível que pode ser transmitido de ou para um cliente ou servidor mysql. Você deve definir max_allowed_packet
imóvel a um valor superior. E reinicie o mysql. Alguns sistemas de arquivos não permitem arquivos de 4 GB. Nesse caso, você não pode carregar um arquivo muito grande. Acho que no seu caso configurando
max_allowed_packet
propriedade para um valor mais alto resolverá o problema. Eu acho que você pode usar o seguinte script de criação de tabela
CREATE TABLE `image` (
`id` INT(10) NULL DEFAULT NULL,
`fs` LONGBLOB NULL,
`filen` VARCHAR(50) NULL DEFAULT NULL
)