当尝试使用react native将图像上传到firebase存储时,iOS上的应用程序崩溃



选择我使用的图像import * as ImagePicker from 'expo-image-picker';

图像拾取过程

const permission = await ImagePicker.requestMediaLibraryPermissionsAsync();
if (permission.granted === false) {
Alert.alert('You did not accept access to internal storage');
} else {
console.log(permission);
const result = await ImagePicker.launchImageLibraryAsync({
mediaTypes: ImagePicker.MediaTypeOptions.All,
allowsEditing: true,
aspect: [4, 3],
quality: 1,
});
console.log(result);
if (!result.cancelled) {
const imageToUploadUri = result.uri;
setImage(imageToUploadUri);
Alert.alert('picture loaded now upload it to the storage');
} else {
Alert.alert('You did not chose any image');
}
}
};

图像设置成功,但当我试图将此图像上传到firebase存储时,应用程序仅在ios上崩溃。

我使用的firebase进口:

import firebase from 'firebase/compat/app';
import { getDownloadURL, getStorage, ref, uploadBytes } from 'firebase/storage';
// image upload function
export const uploadImage  = async (url: string, clubName: string) => {  
const storage = getStorage();
const reffernce = ref(storage, `home_image/${clubName}_main.png`);
const image = await fetch(url);
const bytes = await image.blob();
await uploadBytes(reffernce, bytes);
}

错误在上

const storage = getStorage()

getStorage需要一个应用程序参数来获取该应用程序存储。

你应该写这样的东西:

import { initializeApp } from "firebase/app"
import { getStorage } from "firebase/storage"
const config = { apiKey: <api_key>, ... }
const app = initializeApp(config)
const storage = getStorage(app)

建议将其写入配置文件(例如:firebaseConfig.js(中,然后在每次需要时导入存储变量

最新更新