2016-11-02 6 views
0

Я использую php и interventionКак сохранить blob (изображение) в MySQL?

Каков db-формат блоба?

Является ли MySQL сохранением его как base64?

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

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

Это он?

+0

blob означает "Binary Large OBject". Вводимые данные должны быть двоичными, например, изображения, а не закодированные base64. Вы можете использовать base64 для кодирования данных во время транзита, но он должен быть декодирован при сохранении в поле blob. –

+0

@JonathanKuhn поэтому, если я предоставляю параметр «Файл» для столбца, это нормально? –

ответ

3

Как хранить двоичный большой объект (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 ответы:

Вы можете сошлитесь official documentation here. This link и this link будет стоит прочитать, чтобы углубить понимание.