【发布时间】:2015-08-28 14:57:01
【问题描述】:
我正在创建一个包含多个模块的 Google App Engine 应用程序。我遵循了 Google 的文档,并且有单独的模块,它们有自己的地址并按预期工作。
我正在根据文档实现用户文件上传,并使用最新 (1.9.25) 版本的 SDK。 (https://cloud.google.com/appengine/docs/php/googlestorage/user_upload)
我的应用有几个模块,包括:
- 默认(项目的根目录)
- admin(位于 /admin 中,带有单独的 admin.yaml 配置)
我的文件上传表单位于 admin 模块中。当我使用以下方法生成文件上传 URL 时:
CloudStorageTools::createUploadUrl('/upload' , $options) 并提交文件上传表单,App Engine 正在将文件发布到指定路径 (/upload),但是它将请求定向到 default 模块,这是我不想要的。文件上传后,页面从 default 模块加载路由,该模块未设置为接收该请求。 (SDK 控制台还会在浏览器中上传文件时将 POST 显示为“默认”)
如果我从 admin 模块生成文件上传 URL,在同一个模块中显示表单,为什么它会 POST 到默认模块?
也许我在这里遗漏了一些东西,但我搜索了所有 Google 文档,似乎找不到任何表明文件上传只能由默认应用引擎模块处理的内容。
这是预期的行为吗?感谢您的帮助。
【问题讨论】:
-
这是在开发服务器上吗?如果是这样,您似乎恰好遇到了这个错误code.google.com/p/googleappengine/issues/detail?id=10269。除非它被报告已修复...
-
是的,这是在开发服务器上。看起来像一个非常相似的错误,尽管我很确定 blobstore 和 CloudStorage API 是不同的。也许他们的实现在开发服务器上是相似的。另外,我没有使用任何 dispatch.yaml 重定向,这似乎会导致该错误报告中的问题。也许我需要报告这个。谢谢你来找我。