如何打开数据库中带有文件路径的图像?

时间:2019-06-26 12:47:42

标签: python-3.x image sqlite base64

我正在将图像从客户端发送到服务器,然后将其保存在文件系统中,并将路径放入数据库中。我从客户端收到图像后就可以打开它,但是如果我运行另一个代码来尝试从数据库中获取的文件路径中打开图像,则该图像将不会打开。

我正在使用base64进行编码和通过套接字发送,但是会在这方面提出任何建议。

term = '%'+'imagem0'+'%'
query1 = c.execute('SELECT picturepath FROM imagensdb WHERE picturepath LIKE ?', (term,))
data1 = query1.fetchone()

for row in data1:
    print(row)
    lopath = row

with open(lopath, 'rb') as input_file:
    photostr = base64.b64encode(input_file.read())
    print(len(photostr))
    print('photostr =', photostr)
    photostr1 = base64.b64decode(photostr) //edit, line added
    image_result = open('requestedphoto.png', 'wb')
    image_result.write(photostr1) //also edited (photostr for photostr1)

'imagem0.png'将是图片的名称。我希望可以打开“ requestedphoto.png”,但是我收到“读取PNG图像文件时发生致命错误:不是PNG文件”。

谢谢!

@Edit:编辑了代码,并且看起来工作正常,但是我必须运行两次代码。首先,映像未完全加载。再次运行,那么我可以正常打开.png文件。不知道为什么。

0 个答案:

没有答案