我目前正在使用sqlite作为我的数据库。现在我的一个表包含一个基本上是图像的blob数据。由于某些原因,我没有使用Djangos ORM并直接从我的数据库中读取和写入。现在我想知道如何将这个二进制数据转换/渲染成一个我的模板中的图片?
目前显示图像我会做这样的事情
<img src=“pic.gif" alt="HTML5 Icon" style="width:128px;height:128px;">
但在这种情况下,图像是在运行时构建的,图像的数据正从视图传递到模板。
我在db中存储图像的方式是这样的
def insert_Sample_imageInDB():
picture_file="pic.jpg"
cursor = connection.cursor()
with open(picture_file, 'rb') as input_file:
ablob = input_file.read()
base = os.path.basename(picture_file)
afile, ext = os.path.splitext(base)
sql = "INSERT INTO ImageTable (image_col) VALUES(%s)"
cursor.execute(sql, [sqlite3.Binary(ablob)])
cursor.close()
答案 0 :(得分:0)
所以我基本上将图像存储在我的数据库中作为base64编码字符串,然后使用以下内容在我的视图中显示该图像
<img alt="Embedded Image" src="data:image/png;base64,{{ rslt }}" style="width:50px;height:50px;"/>