python - GAE : how can I combine a BlobstoreUploadHandler and a RequestHandler in 1 webpage

标签 python google-app-engine blobstore requesthandler

我正在 Google App Engine 上用 Python 制作一个邮件应用程序。

我想在“普通”网页(发布到 RequestHandler)中启用附件上传(发布到 BlobstoreUploadHandler)。

如果用户填写了“正常”表单的一部分,那么在用户上传他(或她)的附件后,我如何保留这些值(然后在提交帖子之前使用 javascript 复制所有字段)?

最佳答案

您可以编写一个派生自两个类的请求处理程序:

class YourRequestHandler(BlobstoreUploadHandler, RequestHandler):
    pass

我也用 webapp2 的 RequestHandlers 尝试过这个,它有效。

P.S.:为了防止由于用户上传的文件多于应用程序预期而出现孤立 blob(由于您无法控制用户的浏览器,因此很容易发生这种情况),我建议按照以下方式编写帖子处理程序:

def post(self):
    uploads = self.get_uploads()
    try:
        pass  # Put your application-specific code here.
        # As soon as you have stored a blob key in the database (using a transaction),
        # remove the corresponding upload from the uploads array.
    finally:
        keys = [upload.key() for upload in uploads]
        blobstore.delete_multi(keys)

关于python - GAE : how can I combine a BlobstoreUploadHandler and a RequestHandler in 1 webpage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16656557/

相关文章:

python - 如何更改QMessageBox中的按钮顺序

python - Pandas :在数据框中创建一个新列,该列是滚动窗口的函数

Python 2.7 AWS Lambda 支持将于 2020 年终止?

java - 如何将大文件(> 5 mb)从 Blobstore 发布到 Google 云端硬盘?

python - Google App Engine 上传图像 Blobstore

python - scikit-learn 中的 "fit"方法有什么作用?

GCP 标准 java11 应用程序引擎上的 Java Spring REST API : Successful appengine:deploy but endpoint/route hangs indefinitely

python - 在 GAE : logging vs. 数据存储上保存数据

java - appengine-web.xml 不包含 <threadsafe> 元素

python - 如何使用 python 的 GAE 开发服务器测试台模拟文件上传到 blobstore