没有为“FirebaseStorage”类型定义方法“getReferenceFromUrl”

Posted

技术标签:

【中文标题】没有为“FirebaseStorage”类型定义方法“getReferenceFromUrl”【英文标题】:The method 'getReferenceFromUrl' isn't defined for the type 'FirebaseStorage' 【发布时间】:2021-07-19 02:20:26 【问题描述】:

我对 Firebase 有疑问。我使用 youtube 上的视频了解了如何从 firebase 删除数据和图像。我有一个函数可以从firestore 中删除图像,但我不能使用 getReferenceFromUrl()。它显示错误

deleteFood(Food food, Function foodDeleted) async 
  if (food.image != null) 
    Reference storageReference =
        await FirebaseStorage.instance.getReferenceFromUrl(food.image);

    print(storageReference.path);

    await storageReference.delete();

    print('image deleted');
  

  await FirebaseFirestore.instance.collection('Foods').doc(food.id).delete();
  foodDeleted(food);

【问题讨论】:

【参考方案1】:

getReferenceFromUrl 已弃用,如您所见 here。

您需要使用存储中文件的路径调用ref()

正如评论中提到的@puff,新的 API 调用将是 refFromURL('your_download_url')

【讨论】:

getReferenceFromUrl 最可能的替换方法实际上是refFromURL。据我所知,ref() 采用路径,而 refFromURL 采用下载 URL。

以上是关于没有为“FirebaseStorage”类型定义方法“getReferenceFromUrl”的主要内容,如果未能解决你的问题,请参考以下文章

学习java第三天

类的无参方法

类的无参方法

类的无参方法

类的无参方法

身份验证在 FirebaseStorage Flutter 中不起作用