如何将base64字符串转换为图像文件?
问题描述:
你好我试图将base64字符串转换为图像文件,这很容易。这是我的代码。如何将base64字符串转换为图像文件?
with open(os.path.join('avatars', avatar_filename), 'wb') as avatar_file:
avatar_file.write(base64.decodebytes(avatar_b64))
但问题是,该字符串是由客户端发送,所以,我怎么知道,如果base64字符串对应的图像文件?
答
最后我决定使用带有python的库imghdr。所以我救了以base64图像文件,然后我检查了文件,知道是这样一个有效的图像:
if imghdr.what(avatar_filename):
print('is a image')
else:
print('is not a image')
的imghdr.what()函数返回的图像类型,因此,如果没有类型返回我假设这不是一个图像。
你可以试试这个答案中的代码。 https://stackoverflow.com/a/34116876/270349 – aalku
是的,这是我有,但我不知道是否base64字符串对应的图像文件。 –
[如何检查文件是否是有效的图像文件?]可能的重复(https://stackoverflow.com/questions/889333/how-to-check-if-a-file-is-a-valid-image -file) –