尝试将图像上传到 Firebase 存储时出错

Posted

技术标签:

【中文标题】尝试将图像上传到 Firebase 存储时出错【英文标题】:Error when trying to upload an Image to Firebase Storage 【发布时间】:2022-01-08 16:34:02 【问题描述】:

我正在尝试将图像文件(我从图像选择器中)上传到 Firebase 存储。我对此有点陌生,我在搜索时发现的所有示例似乎都是旧版本的插件,所以也许这与它有关。 如果有人可以查看我的代码并告诉我哪里出错了,我将不胜感激。

这是我正在使用的代码:

Future uploadFile() async 
firebase_storage.Reference storageReference = FirebaseStorage.instance
    .ref()
    .child('chats/$Path.from(_image.path)');
UploadTask uploadTask = storageReference.putFile(_image);
await uploadTask;
print('File Uploaded');
storageReference.getDownloadURL().then((fileURL) 
  setState(() 
    print("UPOADED FILE URL IS: $fileURL");
    // _uploadedFileURL = fileURL;
  );
);

我收到的错误是:

未处理的异常:类型“字符串”不是类型“路径”的子类型

非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

编辑:您也不应该将 Path.from 作为 String 传递,而是直接使用其 path 属性,因为它是 String getter,如下所示:

'chats/$_image.path'

试试这个:

print("UPOADED FILE URL IS: $fileURL.toString()");

此外,您在 StorageReference 中有额外的 ,但这不会导致问题。

【讨论】:

您好,错误出现在您提到的打印语句之前。它没有执行上传任务。 尝试我添加到答案中的编辑。直接传递 _image.path 而不是 Path.from

以上是关于尝试将图像上传到 Firebase 存储时出错的主要内容,如果未能解决你的问题,请参考以下文章

将图像添加到 Firebase 存储时出错

当我将图像上传到 Firebase 时,来自 Database Realtime 的图像 url 与 firebase 存储中的图像 url 不同

当我尝试将图像上传到 Firebase 存储时,putFile 在 kotlin 中不起作用

将多个图像的异步图像上传到firebase存储

将文件上传到 Firebase 云存储时出错:“rules_version = 1 不允许列出存储桶中的对象”

将图像链接从 Firebase 存储存储到 Firebase 数据库时出错