gpt4 book ai didi

python - 将存储在数据库中的 BLOB 转换为 HTML 网站上的图像

转载 作者:太空狗 更新时间:2023-10-29 15:32:45 25 4
gpt4 key购买 nike

这是我的第一个问题。

我让用户将他们自己的图像上传到数据库。该图像存储为 BLOB。

我能够成功地做到这一点。我正在使用 MySQL 作为数据库。

我遇到问题的部分是在调用该 BLOB 时在网站上将该 BLOB 作为图像显示。

现在只有二进制数据,显示了很多奇怪的符号。我认为这是 HTTP header 的问题。现在它在:

print "Content-Type: text/html"

我试过:

print "Content-Type: image/jpeg"

我正在使用 Python 连接数据库并编写 HTML。

编辑:代码:

def showFile():

# do SQL to retrieve blob where filename
conn, cursor = getConnectionAndCursor()
sql = """
select data
from upload
where id=1
"""
cursor.execute(sql)
data = cursor.fetchone()
blob = data[0]

print "<hr>"
print "This is what I'm trying"
print """<img src="data:image/jpeg;base64,%s/>""" % data

######################################################################
if __name__ == "__main__":

form = cgi.FieldStorage()

if "show_file" in form:
print "Content-Type: text/html"
print
printHeaders("Image upload example")
showFile()
printFooter()

最佳答案

根据其编码方式,您也可以只使用图像的数据 URI。如果它们被编码为 base64 PNG,这样的事情可能会起作用。

<img  src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />

正如@Alok 所说,您可能需要先将其从二进制 blob 转换为 base64,然后使用数据 URI。

关于python - 将存储在数据库中的 BLOB 转换为 HTML 网站上的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16279856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com