GAE(Python)表单文件上传+电子邮件文件作为附件

时间:2013-08-12 21:26:13

标签: python google-app-engine file-upload email-attachments

我需要在Google App Engine(GAE-Python)上实现一个相当简单的Web表单,该表单接受一些表单输入(名称,电子邮件,电话)和简历(通常是TXT,PDF或DOC / DOCX)文件。提交表单后,我希望通过电子邮件发送表单的内容,如果表单中提交了文件,则将其作为附件包含在指定电子邮件地址的同一封电子邮件中。

  1. 通过电子邮件发送/附加后,我不需要该文件存在。有点像临时文件,或者存储在临时blob商店中。
  2. 使用HTML5和jQuery,有很多花哨的用户界面来实现文件上传。是否有任何推荐的方法可以使用其中一个与GAE很好地配合使用,以及如果浏览器不支持现代方法(即IE),可以优雅地降级?
  3. 我正在使用jinja2框架,如果这是相关的。 (顺便说一下,我是Python新手)

    提前致谢!

1 个答案:

答案 0 :(得分:0)

要在GAE中将文件作为blob上传,您需要来自内置框架blobstore_handlers的{​​{1}}。 文档的上传文件有complete sample,我认为没有其他方法可以上传到blobstore。

当您拥有blob时,请从docs查看此页面的第一个示例,以便将blob附加到电子邮件中。

现在,对于“临时文件解决方案”,您可以尝试不同的方式:使用StringIO python模块将上传文件写入ram。这样的事情:

webapp
<form action="/test/" method="POST" enctype="multipart/form-data">
  <input type="file" name="file"><br>
  <input type="submit"name="submit" value="Submit">
</form>