亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

.xlsx文件上傳到谷歌云存儲

.xlsx文件上傳到谷歌云存儲

Go
慕姐8265434 2022-08-24 11:42:50
我用Go編寫了這個API,它使用excelize創建一個.xlsx文件,從數據庫中獲取的數據,我想上傳到私有GCS存儲桶。但問題是在我上傳文件后,它說文件類型不是 。application/zipapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheettype Connection struct {    Credential    string    BucketName    string    APIKey        string    ProjectID     string    AccessToken   string    BaseURL       string    GcpCredential *google.Credentials}func (conn *Connection) Upload(url, name string) (err error) {    ctx := context.Background()    client, err := storage.NewClient(ctx, option.WithCredentialsFile(conn.Credential))    if err != nil {        return err    }    err = write(client, conn.BucketName, name, url)    return err}func write(client *storage.Client, bucket, object, url string) error {    ctx := context.Background()    f, err := os.Open(url)    if err != nil {        return err    }    defer f.Close()    wc := client.Bucket(bucket).Object(object).NewWriter(ctx)    _, err = io.Copy(wc, f)    if err != nil {        return err    }    if err := wc.Close(); err != nil {        return err    }    return nil}//In other file, generate excel file and upload it using above codexlsx := excelize.NewFile()//setup file content...//save to local machine located in uploadURLerr = xlsx.SaveAs(uploadURL)//then upload to GCS bucketerr = h.Googlestorage.Upload(uploadURL, fileNameInGCS)if err != nil {    SendBadRequest(w, err.Error())    return}//then generate signed URL for client to access the file這是一個問題,因為當我生成文件的簽名URL時,它被下載為.zip文件,而不是.xlsx。"{file path in bucket}.xlsx?Expires=1617698911&GoogleAccessId={googleAccessID}&Signature={someGeneratedSignature}"如何解決此問題?我上傳文件的方式有問題嗎?
查看完整描述

1 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

您可以使用 ObjectHandle.Update 函數

    _, err := client.Bucket(bucket).Object(object).Update(ctx, storage.ObjectAttrsToUpdate{
        ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
    })



查看完整回答
反對 回復 2022-08-24
  • 1 回答
  • 0 關注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號