【发布时间】:2018-01-04 23:51:54
【问题描述】:
我正在处理的一个项目依赖于托管在 Google App Engine 上的服务从 SendGrid 解析。下面的代码是我们正在做的一个例子:
package sendgrid_failure
import (
"net/http"
"fmt"
"google.golang.org/appengine"
"google.golang.org/appengine/log"
)
func init() {
http.HandleFunc("/sendgrid/parse", sendGridHandler)
}
func sendGridHandler(w http.ResponseWriter, r *http.Request) {
ctx := appengine.NewContext(r)
err := r.ParseMultipartForm(-1)
if err != nil {
log.Errorf(ctx, "Unable to parse form: %v", err)
}
fmt.Fprint(w, "Test.")
}
当 SendGrid POST 其多部分表单时,控制台显示类似于以下内容:
2018/01/04 23:44:08 错误:无法解析表单:打开 /tmp/multipart-445139883:App Engine 上不允许写入文件
App Engine 不允许您读取/写入文件,但 Golang 似乎需要它来解析。是否有一个 App Engine 特定的库来解析多部分表单,或者我们应该完全使用与标准 net/http 库不同的方法?我们使用的是标准的 go 运行时。
【问题讨论】:
标签: google-app-engine go multipart