У меня есть две функции, одна - загрузить изображение в Fire Store, а другая - добавить пост. Я использую функцию загрузки внутри функции загрузки.
Все работает абсолютно нормально. Но мне нужно загрузить несколько изображений (массив).
addPost = async({text, localUri, kaina }) => {
const remoteUri = await this.uploadPhotoAsync(localUri, `photos/${this.uid}/${Date.now()}`);
return new Promise((res,rej) => {
this.firestore.collection("ads").add({
text: text,
kaina: kaina,
uid: this.uid,
timestamp: this.timestamp,
image: remoteUri,
})
.then(ref => {
res(ref);
})
.catch(error => {
alert(error);
});
}
)
}
uploadPhotoAsync = async (uri, filename) => {
return new Promise(async (res,rej) => {
const response = await fetch(uri);
const file = await response.blob();
let upload = firebase
.storage()
.ref(filename)
.put(file);
upload.on(
"state_changed",
snapshot => {},
err => {
rej(err);
},
async () => {
const url = await upload.snapshot.ref.getDownloadURL();
res(url);
}
)
});
};
У меня есть компонент Карусель, где я отображаю изображения из массива состояний. Работает так же, но я хочу показать изображения из пожарного магазина из того же поста.
, так как я могу передать массив URI (из состояния) в uploadPhotoAsync = async (uri, filename)
и загрузить, скажем, 5 изображений , а затем получить 5 URL-адресов для загрузки, чтобы я мог отобразить их в карусели?