为了账号安全,请及时绑定邮箱和手机立即绑定

在 GO 中将 Json Array 从 GAE 上传到 Cloud Storage

在 GO 中将 Json Array 从 GAE 上传到 Cloud Storage

Go
慕的地6264312 2021-10-04 16:36:57
我尝试将应用引擎应用程序使用以下代码发布的 json 数组上传到谷歌云存储:saveData : function saveData() {  var _this = this,      save = this.shadowRoot.querySelector('#save-data'),      subData = JSON.stringify(_this.app.userSession);  save.url="url";  save.body = subData;  save.go();}发布的消息与下面发布的代码一起处理。使用此代码,我可以在以用户 ID 命名的云存储桶上创建一个文件夹。我想做的是将整个 json 数组复制到文件夹中 - 即下面代码中的变量 f。我尝试使用 io.Copy(wc, f) 但它给了我以下错误:不能在 io.Copy 的参数中使用内容(类型 userData)作为类型 io.Reader:userData 没有实现 io.Reader(缺少 Read 方法)显然我做错了什么,但我很新,我完全被卡住了。有人能帮我吗?package exptimport (    "bytes"    "encoding/json"    "io/ioutil"    "log"    "net/http"    "golang.org/x/net/context"    "golang.org/x/oauth2"    "golang.org/x/oauth2/google"    "google.golang.org/appengine"    "google.golang.org/appengine/file"    "google.golang.org/appengine/urlfetch"    "google.golang.org/cloud"    "google.golang.org/cloud/storage")var bucket = "expt"func init() {    http.HandleFunc("/", handleStatic)    http.HandleFunc("/save", saveJson)}func handleStatic(w http.ResponseWriter, r *http.Request) {    w.Header().Set("Cache-Control", "no-cache")    http.ServeFile(w, r, "static/"+r.URL.Path)}type Result map[string]interface {}type userData struct {    id     string    age    string    gender string}func testA(r *http.Request) userData {    defer r.Body.Close()    body, err := ioutil.ReadAll(r.Body)    var userDataCurr userData    if err != nil {        log.Printf("Couldn't read request body: %s", err)    } else {        var f Result        err := json.Unmarshal(body, &f)        if err != nil {            log.Println("Error: %s", err)        } else {            user := f["user"].(map[string]interface{})            userDataCurr.id = user["id"].(string)        }    }    return userDataCurr}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 179 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信