如何在MySQL中存储blob(图像)?

时间:2016-11-02 22:30:00

标签: php mysql base64 blob intervention

我正在使用php和intervention

blob的db格式是什么?

MySQL是否将其保存为base64?

在我将图像文件保存到db之前,我该怎么办?

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

1 个答案:

答案 0 :(得分:3)

如何存储二进制大对象(BLOB)?

  • BLOB是一个二进制大对象,可以容纳可变数量的对象 数据。四种BLOB类型是TINYBLOBBLOBMEDIUMBLOBLONGBLOB
  • 这些区别仅在于它们可以容纳的值的最大长度。
  • 四种TEXT类型为TINYTEXTTEXTMEDIUMTEXTLONGTEXT。这些对应于四种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 linkthis link 值得一读,以加深您的理解。