从React-Native应用上传图像到Firebase存储

3
在React-Native应用中,我如何将用户设备上的图像上传到Firebase存储?我正在尝试以下方法:
var file = {
   uri: 'file:///Users/...../LONG_PATH/....../Documents/images/name.jpg'
}

var storageRef = this.firebase.storage().ref();
var uploadTask = storageRef.child('images/' + file.name).put(file);

但是它会抛出一个错误:

可能未处理的 Promise 拒绝 (id: 0):

Firebase 存储: 在索引 0 的 put 中的参数无效:找不到变量:Blob

2个回答

4
在这篇文章中,一名软件工程师表示:

React Native不支持File和Blob类型,因此Firebase存储上传在该环境中无法使用。但文件下载可以使用。

但是我发现这个模块可以将文件转换为Blob类型。也许可以帮助您的解决方案。

谢谢您的建议。我的理解是,因为这个库填充了 Blob,所以原帖中的示例代码应该可以直接使用,对吗? - Learner
更新:这是 fetch 的本地方法。在 React Native 中上传文件后,我目前正在使用类似的东西。const photoData = await fetch(imageUri) const blob = await photoData.blob() return blob - kingPuppy

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接