Я уверен в загрузке изображений из компонентов средства выбора, однако я изо всех сил пытаюсь выяснить, как загружать stati c файлы в файлах проекта. В каталоге моего проекта есть изображение png, которое я хочу использовать в качестве изображения профиля по умолчанию для вновь созданных пользователей в моем приложении. После нажатия кнопки регистрации в firebase необходимо добавить новый файл с идентификатором пользователя в папке avatars / . Я конвертирую локальный файл в объект blob с помощью RNFetchBlob. Код, с которым я сейчас работаю, не выдает никаких ошибок, он просто не выполняется после строки Blob.build (...) .
Существует много устаревшей и нерелевантной информации, через которую мне трудно пробираться, поэтому я очень ценю любую помощь.
при нажатии кнопки регистрации:
handleSignUp = () => {
// ... initialize user
// I want to upload the image at '../../img/default_avatar.png' to firebase storage at 'avatars/<user_id>'
const Blob = RNFetchBlob.polyfill.Blob;
const fs = RNFetchBlob.fs;
window.XMLHttpRequest = RNFetchBlob.polyfill.XMLHttpRequest;
window.Blob = Blob;
const imageFile = RNFetchBlob.wrap('../../img/default_avatar.png');
const ref = firebase.storage().ref('avatars/' + user.uid);
let uploadBlob = null;
Blob.build(imageFile, { type: 'image/png' })
.then((imageBlob) => {
console.log(imageBlob)
uploadBlob = imageBlob;
ref.put(imageBlob, { contentType: 'image/png' });
})
.then(() => {
uploadBlob.close();
let url = ref.getDownloadURL();
console.log("url: ", url)
}).catch(() => {console.log("Firestore default image upload error!")});
}