【发布时间】:2013-02-20 11:48:32
【问题描述】:
为什么下面的代码不起作用?收到电子邮件,并且文件带有正确的文件名(它是一个 .png 文件)。但是当我尝试打开文件时,它无法正确打开(Windows Gallery 报告它can't open this photo or video 和the file may be unsupported, damaged or corrupted)。
当我使用 blobstore_handlers.BlobstoreDownloadHandler 的子类(基本上是 GAE 文档中的确切处理程序)和相同的 blob 键下载文件时,一切正常,Windows 读取图像。
还有一点信息 - 下载的二进制文件和电子邮件看起来非常相似,但长度略有不同。
有人对如何获取从 GAE blobstore 发送的电子邮件附件有任何想法吗? S/O上也有类似的问题,说明其他人也有这个问题,但似乎没有任何结论。
from google.appengine.api import mail
from google.appengine.ext import blobstore
def send_forum_post_notification():
blob_reader = blobstore.BlobReader('my_blobstore_key')
blob_info = blobstore.BlobInfo.get('my_blobstore_key')
value = blob_reader.read()
mail.send_mail(
sender='my.email@address.com',
to='my.email@address.com',
subject='this is the subject',
body='hi',
reply_to='my.email@address.com',
attachments=[(blob_info.filename, value)]
)
send_forum_post_notification()
【问题讨论】:
标签: python google-app-engine blobstore