【问题标题】:File uploads always POST to 'Default' module文件上传总是 POST 到“默认”模块
【发布时间】: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 重定向,这似乎会导致该错误报告中的问题。也许我需要报告这个。谢谢你来找我。

标签: google-app-engine


【解决方案1】:

进一步搜索,这似乎是开发服务器中的一个错误,如下所述: https://code.google.com/p/googleappengine/issues/detail?id=10658

尽管它与 blobstore API 有关,但我相信开发服务器在 CloudStorage API 请求期间会使用 blobstore。希望它会得到修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 2023-04-06
    • 2017-10-17
    相关资源
    最近更新 更多