Jon*_*off 10 google-app-engine go blobstore app-engine-modules gae-module
问题
使用Go Blobstore API上载文件时,成功路径会重定向到错误的appengine模块.这是对问题的更直观的描述:
http://A.my-appengine-app.com/upload
http://A.my-appengine-app.com/upload/session
/upload/session
运行以下Go代码的处理程序:url, err := blobstore.UploadURL(c, "/upload/success")
http://A.my-appengine-app.com/_ah/upload/[some long hash]/
action
a中<form>
.POST
向URL 提交多部分请求/upload/success
这是事情变得奇怪的地方.在开发中,服务器重定向到模块A中的 "/ upload/success" .在生产中,服务器重定向到主模块,我们可以称之为乙现在.我可以告诉这种情况正在发生,因为我404
在我的Web控制台中获得了一个日志表明正在向模块B发出请求.我甚至已经明确地将主机名作为成功路径的一部分传递(步骤#3),但是没有效果.
当前解决方案(不理想)
似乎我唯一的办法是在模块B中定义一个处理程序来处理请求,就像模块A那样.由于goapp架构将所有模块组合在一起,这不是世界上最差的权衡,但鉴于模块应该是垂直独立的,它在语义上是错误的.如果有人知道如何解决这个问题,我将不得不承担责任.现在,我将采取上述方法.