【问题标题】:How to insert firebase storage images inside firestore field如何在firestore字段中插入firebase存储图像
【发布时间】:2020-06-15 04:43:21
【问题描述】:

我的颤振应用程序有问题,问题出在 firebase 的存储中。 我有一个名为avatar(String) 的字段集合。它的价值来自图像链接,所以首先我将图像上传到 Firebase 存储,然后我更改了规则以允许读取。 所以当我刷新代码时,我得到了这个错误。

═══════ Exception caught by image resource service ════════════════════════════════════════════════

解析图像时引发以下 ArgumentError

codec:
Invalid argument(s): Unsupported scheme 'gs' in URI gs://pfe-2020-51d9c.appspot.com/Asperge/asperges%20(1).jpg

当异常被抛出时,这是堆栈:

#0      _HttpClient._openUrl (dart:_http/http_impl.dart:2278:9)
#1      _HttpClient.getUrl (dart:_http/http_impl.dart:2197:48)
#2      NetworkImage._loadAsync (package:flutter/src/painting/_network_image_io.dart:84:59)
#3      NetworkImage.load (package:flutter/src/painting/_network_image_io.dart:47:14)
#4      ImageProvider.resolve.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:flutter/src/painting/image_provider.dart:327:17)

... 图片提供者:NetworkImage("gs://pfe-2020-51d9c.appspot.com/Asperge/asperges(1).jpg", scale: 1.0) 图片键:NetworkImage("gs://pfe-2020-51d9c.appspot.com/Asperge/asperges (1).jpg", scale: 1.0) ══════════════════════════════════════════════════ ══════════════════════════════════════════════════

这是我的飞镖代码

================================================ ==================================================== ==

 ClipRRect(
            child: Image.network(snapshot.data[index].data['avatar'],
            height: 100,
            width: 170,
            fit: BoxFit.fill,
            ),
               borderRadius: BorderRadius.circular(20),
            ),

【问题讨论】:

    标签: firebase flutter google-cloud-firestore firebase-storage


    【解决方案1】:

    Flutter 不知道如何处理 Cloud Storage 本地用来描述上传文件位置的 URL。 “gs://”表示 Cloud Storage 使用的自定义方案。你需要做的是提供一个 Flutter 可以理解的 URL。

    您可以通过using getDownloadUrl() 从上传的文件中获取 HTTPS 下载 URL。这是您应该提供给 Flutter 以下载和显示图像的 URL。

    【讨论】:

    • 我没明白,如何在我的代码中实现 getDowloadUrl() 这是我的代码: ClipRRect(child: Image.network(snapshot.data[index].data['avatar '], 高度: 100, 适合: BoxFit.fill, ), ),
    • 我想你可以让它成为你调用的方法
    猜你喜欢
    • 2019-02-09
    • 2021-07-23
    • 2021-10-14
    • 2019-07-24
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 2018-04-09
    相关资源
    最近更新 更多