我尝试在 blobstore 上添加文件,我发现了一些使用 go 的示例,但这些是使用 html 模板的示例,我现在从调用我的 api 的 react-native 应用程序发送图像,以在 blobstore 上添加文件。
那么如何使用我在 go 中通过 r.FormFile()
获取的文件在 blobstore 上添加文件?
我找到的例子:
func sampleHandler(w http.ResponseWriter, r *http.Request) {
// [START uploading_a_blob_2]
var rootTemplate = template.Must(template.New("root").Parse(rootTemplateHTML))
const rootTemplateHTML = `
<html><body>
<form action="{{.}}" method="POST" enctype="multipart/form-data">
Upload File: <input type="file" name="file"><br>
<input type="submit" name="submit" value="Submit">
</form></body></html>
`
// [END uploading_a_blob_2]
// [START uploading_a_blob_1]
ctx := appengine.NewContext(r)
uploadURL, err := blobstore.UploadURL(ctx, "/upload", nil)
if err != nil {
serveError(ctx, w, err)
return
}
w.Header().Set("Content-Type", "text/html")
err = rootTemplate.Execute(w, uploadURL)
if err != nil {
log.Errorf(ctx, "%v", err)
}
// [END uploading_a_blob_1]
}
谢谢 :)
最佳答案
我的建议是提供一个小型 JSON API,您的 React Native 应用程序可以调用它,它将返回一个由 blobstore.UploadURL
生成的上传 URL。然后,您应该能够正常 POST 到 URL。
关于rest - 使用 go API 在 blobstore 上上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38055758/