如何使用Golang将图像上传到Firebase存储

时间:2020-06-05 20:46:03

标签: image firebase go google-cloud-storage firebase-storage

在过去的几个小时里,我一直在努力尝试将图像上传到Firestore存储,但是我做不到……该图像在Firestore上一次似乎已损坏

func (fs *FS) Upload(fileInput []byte, fileName string) error {

    ctx, cancel := context.WithTimeout(context.Background(), fs.defaultTransferTimeout)
    defer cancel()

    bucket, err := fs.client.DefaultBucket()
    if err != nil {
        return err
    }

    object := bucket.Object(fileName)
    writer := object.NewWriter(ctx)
    defer writer.Close()

    if _, err := io.Copy(writer, bytes.NewReader(fileInput)); err != nil {
        return err
    }

    if err := object.ACL().Set(context.Background(), storage.AllUsers, storage.RoleReader); err != nil {
        return err
    }

    return nil

}

我没有任何错误,但是上传后...我得到了:

enter image description here

同时使用Google Cloud Storage:

enter image description here

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

上传可能很好。已知Firebase控制台无法显示Web或移动客户端未上载的内容的预览。尝试在本地下载文件,以确认它与您上传的文件相同。

也可以file a feature request with Firebase support关于控制台。

答案 1 :(得分:1)

您需要发送其他元数据属性: firebaseStorageDownloadTokens

赞:

re.search(r"ACC[A|G]?CCG", text)

这些更改之后,图像应该会出现。