我正在尝试发送带有文件和访问令牌的多部分/表单,它可以与开发服务器一起正常工作,但是与 AppEngine 部署完全相同的帖子会导致收到不同的令牌字符串(我可以看到它的长度是更长。938 个字符,而它应该是 902)。
我实际上正在执行完全相同的 POST 请求:
curl -X POST --form "token=<ACCESS_TOKEN>" --form "file=@myfile.jpg" http://upload_url
上传响应处理程序:
c := appengine.NewContext(r)
blobs, values, err := blobstore.ParseUpload(r)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
files := blobs["file"]
if len(files) == 0 {
fmt.Fprintln(w, "No file uploaded")
return
}
token := values.Get("token")
编辑:我试图简单地创建一个端点来发布令牌并打印它的长度,它返回正确的长度..我做错了什么?
func t(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "%d", len(r.FormValue("token")))
}
EDIT2:当我打印从 AppEngine 部署收到的令牌时,我得到如下信息:
eyJhbGciOiJSUzI1NiIsImtpZCI6ImZjZmQ4NGYxZGZhN2NiODUyMTg4MDFkNDRjNzYwNDFmMzB=
lMzg2OGIifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXVkIjoiMjEwMTAyMTk5NDI=
4LmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwidG9rZW5faGFzaCI6IklQMmduQjFsZGMwTE=
VEdVg5LWlZa2ciLCJhdF9oYXNoIjoiSVAyZ25CMWxkYzBMRUR1WDktaVlrZyIsImlkIjoiMTA5O=
.
.
它有换行符......由于某种原因,开发服务器的行为不像那样并且不会拆分行。
如何获取原始字符串或停止此行为?