Может ли кто-нибудь помочь мне переписать эту функцию. Методы в нем устарели, но я недостаточно понимаю о хранилище данных Google, чтобы обновить этот код. https://cloud.google.com/appengine/docs/deprecations/files_apiМне нужна помощь в обновлении этого кода Голанга. Методы в ней устарели, и я не очень хорошо понимаю облачный хранилище данных.
func uploadBlob(w http.ResponseWriter, r *http.Request) {
bodyData, error := ioutil.ReadAll(r.Body)
fileType := r.URL.Query()["type"][0]
var mimeType string
if fileType == "png" {
mimeType = "image/png"
} else {
mimeType = "application/pdf"
}
context := appengine.NewContext(r)
writer, error := blobstore.Create(context, mimeType)
if error != nil {
return
}
_, error = writer.Write(bodyData)
if error != nil {
return
}
error = writer.Close()
if error != nil {
return
}
var k appengine.BlobKey
k, _ = writer.Key()
encoder := json.NewEncoder(w)
encoder.Encode(&UploadBlobResponse{ Key: string(k) })
}
Заранее спасибо. Если вам нужна дополнительная информация, дайте мне знать. Пакет короток, поэтому я могу связать его все.
Как правило, вы хотите перейти по этой ссылке к их [Clo ud Storage API] (https://cloud.google.com/storage/) (подумайте «Amazon S3, но Google») и используйте это. Дополнительные ссылки: [Go samples] (https://cloud.google.com/storage/docs/json_api/v1/json-api-go-samples), [ссылка для пакета] (https://godoc.org/ google.golang.org/api/storage/v1). – twotwotwo