gpt4 book ai didi

firebase - 如何从Firebase存储中获取图像链接

转载 作者:行者123 更新时间:2023-12-03 10:10:30 26 4
gpt4 key购买 nike

我已将图像上传到Firebase存储上,并将规则设置为全部公开。
我希望获得指向不同文件夹中图像的链接,但无法弄清楚如何在Go中继续。不幸的是,有大量的教程使用Java/Python/JavaScript获取图像,但是在Go语言中却很少。
到目前为止,这是我的代码:

bucketName := "<bucket-id>.appspot.com"

ctx := context.Background()
client, err := storage.NewClient(ctx, option.WithoutAuthentication())

if err != nil {
fmt.Println(err)
return nil, err
}

bucket := client.Bucket(bucketName)
在这个存储桶中,我有一些目录,假设我要从 dirOne获取图像。我该如何从此处继续进行操作,或者这是从Firebase存储请求文件的错误方法?

最佳答案

创建Firebase项目时,会自动在GCP项目中添加该Firebase项目的存储桶。因此,您可以使用gcs go package与您的Firebase文件进行交互。
列出文件夹的文件

it := client.Bucket(bucket).Objects(ctx, &storage.Query{
Prefix: prefix,
Delimiter: delim,
})
for {
attrs, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
return fmt.Errorf("Bucket(%q).Objects(): %v", bucket, err)
}
fmt.Fprintln(w, attrs.Name)
}
return nil
假设您要检索images文件夹中的所有文件。前缀应为/images和delim/。
您是否要将这些文件发送回前端?如果是这种情况,请阅读以下建议
万一您需要将文件发送到前端,当前的方法效率不高,因为文件将通过后端,并且就性能而言无法扩展。您可以将文件的相对URL存储到Firebase数据库中,然后将其发送到前端。之后,前端可以使用http请求直接请求它们。

关于firebase - 如何从Firebase存储中获取图像链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65884164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com