【发布时间】:2021-01-05 19:10:31
【问题描述】:
我正在尝试将图像上传到 Firebase 存储或 Firestore,但出现以下错误:
{“code_”:“storage/invalid-argument”,“message_”:“Firebase 存储:
put索引 0 处的无效参数:预期的 Blob 或文件。”,“name_”:“FirebaseError”,“ serverResponse_": null}
我该如何解决这个问题?
我知道我必须将图像转换为文件或 blob 格式,
但在这种情况下,我该怎么做呢??
PS:我没有使用 EXPO
下面是我拍摄图像的函数
const handleSelectPicture = useCallback(() => {
ImagePicker.showImagePicker(
{
noData: true,
title: 'Selecione a foto desejada',
cancelButtonTitle: 'Cancelar',
takePhotoButtonTitle: 'Usar câmera',
maxWidth: 800,
maxHeight: 800,
chooseFromLibraryButtonTitle: 'Escolher da galeria',
},
response => {
if (response.didCancel) {
return;
}
if (response.error) {
Alert.alert('Erro ao fazer upload da foto, tente novamente.');
return;
}
console.log('image: >>>> ', response.uri);
setImageURI({ uri: response.uri });
console.log('State uri>>>>', imageURI);
},
);
}, [imageURI]);
以下是我尝试将该图像上传到 Firebase 的方式:
await firebase
.auth()
.createUserWithEmailAndPassword(
email,
password,
)
.then(async auth => {
console.log('valueee', auth);
await db
.collection('users')
.doc('userData')
.set({
photo: imageURI,
document: params.fileSelected,
address: [data],
});
firebase
.storage()
.ref(`users/${auth.user.uid}/profileImage.jpg`)
.put(imageURI.uri)
.then(() => {
setUser(auth);
});
})
【问题讨论】:
标签: javascript firebase react-native google-cloud-firestore google-cloud-storage