【问题标题】:How can I save image object in the data base?如何将图像对象保存在数据库中?
【发布时间】:2019-07-26 13:59:27
【问题描述】:

我有一个 python 代码,我想将一个图像保存到数据库中,这个图像是一个对象(图像)

这是我想保存在上面的桌子

创建表project (email varchar(100) COLLATE utf8_bin 默认为 NULL,project_name varchar(200) 整理 utf8_bin 不是 NULL, panelimg longblob 非空,status int(1) 非空,) ENGINE=InnoDB 默认字符集=utf8 COLLATE=utf8_bin;

这是我写的,但它不能正常工作

conv = convertToBinaryData(origimg)
cursor.execute("UPDATE project SET panelimg=origimg where status = 0 and email = 'snoo@gmail.com'")

其中原图在图像中作为对象(Image)

这里是转换为二进制的功能:

def convertToBinaryData(filename):
    #Convert digital data to binary format
    with open(filename, 'rb') as file:
        binaryData = file.read()
    return binaryData

我遇到了这个错误,所以我需要帮助

文件“K-mean4-draw6-database.py”,第 17 行,在 convertToBinaryData 使用 open(filename, 'rb') 作为文件:TypeError: expected str, bytes or os.PathLike object, not Image

请给点建议,谢谢

【问题讨论】:

    标签: python database web save connection


    【解决方案1】:

    您可以在需要将图像存储在数据库中时将图像转换为base64字符串,并且可以在从数据库中获取数据时使用相反的步骤。

    这里是如何使用 base64 的代码:

    import base64
    
    with open("filepath/filename", "rb") as imageFile:
        image_string = base64.b64encode(imageFile.read())
    

    【讨论】:

    • 我应该把文件深度放在什么地方??
    猜你喜欢
    • 2015-01-08
    • 2013-02-09
    • 2018-01-29
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 2020-04-07
    • 1970-01-01
    相关资源
    最近更新 更多