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