如何使用Python从Gmail API下载的编码附件中恢复.jpg图片
把解码后的Gmail附件数据保存为JPG图片
别担心,你已经搞定了最麻烦的API调用和Base64解码环节,剩下的一步超简单——直接把解码得到的二进制数据写入本地文件就可以恢复出JPG图片啦!
具体实现代码
# 假设你已经通过前面的步骤得到了decoded_data这个二进制变量 with open('email_attachment.jpg', 'wb') as image_file: image_file.write(decoded_data)
关键细节说明
- 一定要用
'wb'模式打开文件:这代表二进制写入,能确保图片的原始二进制数据不会被错误编码破坏,是保存图片、音频这类二进制文件的标准操作。 - 你可以把
'email_attachment.jpg'替换成任意你想要的文件名和路径,比如'/Users/yourname/Documents/photos/from_gmail.jpg'。
如果之后打开图片发现异常,可以排查这两点:
- 确认附件确实是JPG格式:你可以在获取邮件payload的时候,查看对应附件的
mimeType字段,确保它的值是'image/jpeg'。 - 核对解码步骤:你用的
base64.urlsafe_b64decode完全正确,因为Gmail API返回的是URL安全的Base64编码,这个方法能完美处理特殊字符。
内容的提问来源于stack exchange,提问作者wvdk
相关产品推荐
相关产品推荐

