Как сохранить блоб (изображение) в MySQL?

Я использую php и вмешательство

Каков формат базы данных BLOB-объекта?

MySQL сохраняет его как base64?

Прежде чем сохранить файл изображения в БД, что мне нужно сделать?

Image::make('......')->encode('data-url');

Это оно?


person Jocky Doe    schedule 02.11.2016    source источник
comment
blob означает большой двоичный объект. Вставляемые данные должны быть двоичными, например изображение, а не в кодировке base64. Вы можете использовать base64 для кодирования данных при передаче, но их следует декодировать при сохранении в поле большого двоичного объекта.   -  person Jonathan Kuhn    schedule 03.11.2016
comment
@JonathanKuhn, так что, если я укажу параметр File для столбца, все в порядке?   -  person Jocky Doe    schedule 03.11.2016


Ответы (1)


Как сохранить большой двоичный объект (BLOB)?

  • BLOB — это большой двоичный объект, который может содержать переменный объем данных. Четыре типа BLOB: TINYBLOB, BLOB, MEDIUMBLOB и LONGBLOB.
  • Они отличаются только максимальной длиной значений, которые они могут содержать.
  • Четыре типа ТЕКСТА: TINYTEXT, TEXT, MEDIUMTEXT и LONGTEXT. Они соответствуют четырем типам BLOB и имеют одинаковую максимальную длину и требования к хранению.

Надеюсь, следующий код поможет вам:

CREATE TABLE IMAGE_TABLE(
    IMG_ID INT(6) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    IMG_DETAILS CHAR(50),
    IMG_DATA LONGBLOB,
    IMG_NAME CHAR(50),
    IMG_SIZE CHAR(50),
    IMG_TYPE CHAR(50)
);

Это создаст таблицу, которая будет соответствовать вашим требованиям.

Вы также можете сослаться на следующие ответы SO:

Вы можете обратиться к официальной документации здесь Эта ссылка и эту ссылку стоит прочитать, чтобы углубить свое понимание.

person Praveen Vinny    schedule 03.11.2016