我嘗試將應(yīng)用引擎應(yīng)用程序使用以下代碼發(fā)布的 json 數(shù)組上傳到谷歌云存儲(chǔ):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();}發(fā)布的消息與下面發(fā)布的代碼一起處理。使用此代碼,我可以在以用戶 ID 命名的云存儲(chǔ)桶上創(chuàng)建一個(gè)文件夾。我想做的是將整個(gè) json 數(shù)組復(fù)制到文件夾中 - 即下面代碼中的變量 f。我嘗試使用 io.Copy(wc, f) 但它給了我以下錯(cuò)誤:不能在 io.Copy 的參數(shù)中使用內(nèi)容(類型 userData)作為類型 io.Reader:userData 沒有實(shí)現(xiàn) io.Reader(缺少 Read 方法)顯然我做錯(cuò)了什么,但我很新,我完全被卡住了。有人能幫我嗎?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}
在 GO 中將 Json Array 從 GAE 上傳到 Cloud Storage
慕的地6264312
2021-10-04 16:36:57