gpt4 book ai didi

google-app-engine - 是否可以将电子邮件附件放入 App Engine 的 Blobstore?

转载 作者:太空宇宙 更新时间:2023-11-03 15:22:22 24 4
gpt4 key购买 nike

我已经设法从 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'})

最佳答案

要在您的 GAE 应用程序中接收邮件,请遵循文档 here :特别是,您将获得类 InboundEmailMessage 的实例,其中包含一个 attachments 属性,我引用:

is a list of file attachments, possibly empty. Each value in the list is a tuple of two elements: the filename and the file contents.

然后,根据 these GAE docs ,您“创建一个上传 URL”,并在您的上传处理程序(通常是 BlobstoreUploadHandler 的子类)中使用 get_upload 来获取 BlobInfo实例并将它们的元数据放在某个地方,稍后您可以根据应用的需要取回它们。

最后,您 POST 数据(您从上面的 attachments 获得)到您自己新生成的“上传 URL”,例如使用 urlfetch.fetch (使用 method-POST 和标准 application/x-www-form-urlencoded 编码的有效负载,用于用户在上传时将填写的“表单”直接数据,这是将数据放入 blobstore 的“正常”方式——例如,您可以使用 urllib.urlencode 来准备负载)。

“self-POST”将使用您应用的另一个实例将数据“接收”到 blobstore(同时接收电子邮件的实例等待,因为 fetch 是同步的)。

关于google-app-engine - 是否可以将电子邮件附件放入 App Engine 的 Blobstore?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2531133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com