【发布时间】:2020-10-13 05:11:03
【问题描述】:
我的方法确实设法将图像从 expo 加载到 firebase 存储,但我似乎无法获取下载 URL。
const uploadImage = async (uri) => {
const uniqid = () => Math.random().toString(36).substr(2, 9);
const ext = uri.split('.').pop(); // Extract image extension
const filename = `${uniqid()}.${ext}`; // Generate unique name
const response = await fetch(uri);
const blob = await response.blob();
var ref = firebase
.storage()
.ref()
.child('images/' + filename);
ref.getDownloadURL().then((url) => console.log(url));
return ref.put(blob);
};
这是我得到的错误
FirebaseStorageError {
"code_": "存储/未找到对象", "message_": "Firebase 存储:对象 'images/gebwu7tnh.jpg' 不存在。", "name_": "FirebaseError", “服务器响应_”:“{ “错误”: { “代码”:404, "message": "未找到。无法获取对象", “状态”:“GET_OBJECT” } }"
【问题讨论】:
-
您的代码似乎为文件名生成了一个唯一 ID,然后尝试确定该 ID 的下载 URL。 Firestore 存储中似乎不太可能存在该唯一 ID 的文件,这就是您收到错误消息的原因。
-
谢谢你是对的,我确实找到了解决方案,我会尽快发布
标签: javascript firebase react-native expo firebase-storage