0

真的很纠结这个。。。

我接受一个内容ID

app = webapp2.WSGIApplication([('/mobile/upload',MobileUploadHandler), ('/mobile/(.*)',ContentIDHandler)],debug=True)

如果内容 ID 附加了 post 操作,我会写出一个表单(通过 jinja2 模板):

template = jinja_environment.get_template('templates/mobileupload.html') template_values = {'upload_url':blobstore.create_upload_url('/mobile/upload')} self.response.out.write(template.render(template_values))

Blob 上传 URL 在 HTML 中可见。我不知道它是否正确,但它看起来像一个 blob 上传 URL。

当表单 POST 时,它应该重定向到这个处理程序:

`类MobileUploadHandler(blobstore_handlers.BlobstoreUploadHandler):

def post(self):`

但是,它永远不会到达那里 - 它会重定向到 /mobile/undefined。

我不太确定这意味着什么。我传递给 create_upload_url 的参数有问题吗?

4

1 回答 1

0

但是,它永远不会到达那里 - 它会重定向到 /mobile/undefined。

这正是它应该做的。

用户通过提交包含一个或多个文件输入字段的 HTML 表单来创建 Blob。您的应用程序调用 create_upload_url() 来获取此表单的目标(操作),向函数传递应用程序中处理程序的 URL 路径。当用户提交表单时,用户的浏览器将指定的文件直接上传到 Blobstore。Blobstore 重写用户的请求并存储上传的文件数据,将上传的文件数据替换为一个或多个相应的 blob 键,然后将重写的请求传递给您提供给 create_upload_url() 的 URL 路径的处理程序。

https://developers.google.com/appengine/docs/python/blobstore/overview

于 2012-10-17T09:55:10.943 回答