首先创建一个Blob文件
RNFetchBlob.fs.readFile(localImgUrl2, 'base64')
.then(base64ImageStr => Blob.build('image.png', base64ImageStr, { type: 'image/png;BASE64' }))
......然后我尝试上传到Firebase
.then((data) => {FBStorageRef.put(data, { contentType: mime })})
...但是它给了我错误
Firebase Storage: Object 'profilePics/image.png' does not exist
我相信它的FBStorageRef
与它的牛肉在一起.....我的云存储完全空了,我想创建一个名为profilePics的文件夹....以及我要调用的文件image.png
const FBStorageRef = Firebase.storage().ref('/profilePics/image.png');
它说的profilePics/image.png doe not exist
足够真实.....但这就是我要正确上传它的原因:)
如果文件路径看起来像file:///...
。您可以简单地将其放入Firebase函数中,不需要readFile步骤。
我的代码到目前为止可以正常工作:
static uploadProfileAvatar(userID, fileURI) { // file URI is a path of a local image
const updateTime = moment().unix();
const storagePath = `${PROFILE_AVATAR_PATH}/${userID}_${updateTime}.jpg`;
const fileMetaData = { contentType: 'image/jpeg' };
return FirebaseStorage.uploadFile(fileURI, storagePath, fileMetaData);
}
static uploadFile(fileURI, storagePath, fileMetaData = null) {
const uploadTask = firebase.storage().ref().child(storagePath).put(fileURI, fileMetaData);
return uploadTask;
}