Eff*_*for 6 google-app-engine blobstore
我已经设法通过GAE传入电子邮件将电子邮件附件发送到Amazon S3,但是有人知道一种技术可以将附件(如图像)添加到blobstore中.
任何帮助将非常感激.
代码到目前为止(在Alex的帮助下)
upload_url = blobstore.create_upload_url('/upload')
msg = MIMEMultipart()
msg.set_type('multipart/form-data')
msg.set_payload({'file': content})
result = urlfetch.fetch(upload_url, payload=urllib.urlencode(msg), method=urlfetch.POST, headers={'Content-Type': 'multipart/form-data'})
Run Code Online (Sandbox Code Playgroud)
Ale*_*lli 11
要在您的GAE应用程序中接收邮件,请按照此处的文档进行操作:特别是,您将获得一个InboundEmailMessage具有attachments属性的类实例,并且我引用:
是一个文件附件列表,可能是空的.列表中的每个值都是两个元素的元组:文件名和文件内容.
然后,根据这些GAE文档,您"创建一个上传URL"并在您的上传处理程序(通常是BlobstoreUploadHandler的子类)中get_upload用于获取BlobInfo实例并将其元数据放在某个位置,稍后您可以根据应用程序的需要将其取回.
最后,您POST将数据(您从attachments上面获得)发送到您自己新生成的"上传URL",例如使用urlfetch.fetch(用method-POST标准application/x-www-form-urlencoded编码中的有效负载表示用户填写的"表单")直接上传数据,这是将数据放入blobstore的"常规"方式 - 例如,您可以使用urllib.urlencode来准备有效负载).
"自我POST"将使用您的应用程序的另一个实例将数据"接收"到blobstore中(同时接收电子邮件的实例等待fetch同步).
| 归档时间: |
|
| 查看次数: |
1759 次 |
| 最近记录: |