Python 在处理其他字段的同时将文件上载到blobstore

Python 在处理其他字段的同时将文件上载到blobstore,python,google-app-engine,blobstore,Python,Google App Engine,Blobstore,我有一个带有文件输入和一些文本字段的表单,我想将文件上传到blobstore,然后处理其余的输入。我已经找到了谷歌的文档,但我对细节还不清楚。如果我的想法正确,请首先为表单生成一个提交url,如下所示: blobstore.create_upload_url('/handlerURL') 其中handlerURL是处理常规表单数据(如文本字段等)的请求处理程序的url 接下来定义一个BlobstoreUploadHandler,这就是我得到fuzzy。。。从文档中我了解到,blobstore

我有一个带有文件输入和一些文本字段的表单,我想将文件上传到blobstore,然后处理其余的输入。我已经找到了谷歌的文档,但我对细节还不清楚。如果我的想法正确,请首先为表单生成一个提交url,如下所示:

 blobstore.create_upload_url('/handlerURL')
其中handlerURL是处理常规表单数据(如文本字段等)的请求处理程序的url

接下来定义一个
BlobstoreUploadHandler
,这就是我得到fuzzy。。。从文档中我了解到,
blobstoreuloadhandler
处理文件上载,然后将重写的请求传递给
\handlerURL
。我的困惑出现在这里的文档中:

BlobstoreUploadHandler


但是,如果我想在
handlerURL
的请求处理程序中执行额外的处理并使用来自其他字段的数据,那么
BlobstoreUploadHandler
将是空的,这是正确的还是我误解了这个过程?

BlobstoreUploadHandler只是清理了多部分消息的文件上载部分,您仍然可以使用标准方式(例如self.request.get(“表单中的某个字段”))访问表单的其余字段。

这确实有点棘手,因为这里涉及两个处理程序

  • 第一个来自blobstore本身。其URL由 创建上传url调用。它的任务是保存文件,并 用blobkey替换它。然后它只是将表单发布到您的主 处理程序
  • 第二个由您定义。在您的例子中,它的URL是 /handlerURL。在大多数情况下,这里使用BlobstoreUploadHandler,但是 没必要。BlobstoreUploadHandler使 检索blobkeys,仅此而已。除此之外,它只是 一个webapp.RequestHandler,因此您可以在此处处理整个表单