Twój program jest poprawny. Jeśli rozmiar pliku jest mały, będzie działać dobrze. Jeśli używasz BLOB
datatype do przechowywania danych binarnych, zmień go na LONGBLOB
. Bo jeśli próbowałeś zapisać plik w BLOB
pole danych, a jeśli rozmiar pliku jest większy niż maksymalny dozwolony rozmiar typu danych BLOB, zawartość zostanie obcięta i utracisz część zawartości pliku (w zależności od rozmiaru pliku). Nawet jeśli używasz LONGBLOB
typ danych jest kilka rzeczy, które musisz sprawdzić. Wyjaśnię
Na stronie mysql widzimy, że maksymalny rozmiar pliku to LONGBLOB
to 4 GB. Ale to zależy od wielu rzeczy. Aby przechowywać duży plik, musisz sprawdzić kilka rzeczy. Pierwsza rzecz jest w my.ini
pliku, istnieje właściwość o nazwie max_allowed_packet
, określa największy możliwy pakiet, który może być przesłany do lub z klienta lub serwera mysql. Powinieneś ustawić max_allowed_packet
nieruchomość na wyższą wartość. I zrestartuj mysql. Niektóre systemy plików nie pozwalają na pliki 4 GB. W takim przypadku nie możesz załadować tak dużego pliku.
Myślę, że w twoim przypadku ustawienie max_allowed_packet
właściwość do wyższej wartości rozwiąże problem.
Myślę, że możesz użyć następującego skryptu tworzenia tabeli
CREATE TABLE `image` (
`id` INT(10) NULL DEFAULT NULL,
`fs` LONGBLOB NULL,
`filen` VARCHAR(50) NULL DEFAULT NULL
)