生产中的App Engine Blob商店URL响应与开发不同

时间:2016-03-22 19:44:54

标签: google-app-engine go

我在App Engine上使用Go SDK(1.9.34 - 2016-03-15)。 blobstore api在开发和生产中都正常工作,但现在它似乎返回不同的结果,现在打破了上传。

当我在开发中使用此代码(使用goapp serve)和生产时,我会得到不同的结果。 GET请求附带一个参数,我将其解压缩并添加到上传网址中。

c          := appengine.NewContext(r)
upUrl, err := blobstore.UploadURL(c, "/upload", nil)
c.Infof("Upload url = %+v", upUrl)

if (err != nil) { //error handling here }

param      := r.FormValue("param")
q          := upUrl.Query()
q.Set("param", param)
upUrl.RawQuery = q.Encode()
c.Infof("Upload url after query  = %+v", upUrl)

Dev我得到(这是预期的行为):

Upload url = http://localhost:8080/_ah/upload/RANDOMSTRING
Upload url after query = http://localhost:8080/_ah/upload/RANDOMSTRING?param=99

Prod我得到(正在构建错误的上传网址):

Upload url = https://www.example.com/_ah/upload/?param=99/RANDOMSTRING1/RANDOMSTRING2/
Upload url after query = https://www.example.com/_ah/upload/?param=99

我知道建议使用云存储而不是blobstore,但这是遗留代码,因此我现在不想更改它。几个星期后它工作正常,只是发现了一个区别。我从较旧的SDK升级到较新的SDK(结果基于最新的SDK),但仍然没有区别。

关于可能出现什么问题的任何建议?

谢谢!

0 个答案:

没有答案