В настоящее время я пытаюсь создать загрузчик изображений, используя Vue 2, Vuetify и Firebase / Firestore.В настоящее время мои изображения успешно загружаются в Firestore, а ссылочный URL-адрес для загрузки сохраняется в массиве с именем «images», но они хранятся не в том порядке, в котором они отображаются на моем веб-интерфейсе.
В настоящее время этоИнтерфейс выглядит следующим образом: файлы, выбранные для загрузки:
При нажатии кнопки «Отправить презентацию» он выводит файлы в консоли: https://i.imgur.com/GSQqYtM.png
Как видите, они печатаются по порядку, но возникает еще одна проблема: изображения не отправляются в базу данных Firebase, а загружаются в Firestore.Чтобы он отображался в базе данных Firebase, мне нужно было бы снова нажать кнопку «Отправить презентацию», иначе массив в Firebase будет просто отображаться в виде изображений: [].Я полагаю, что это совершенно другая проблема, но она может помочь выяснить основную проблему.
Когда я снова нажимаю Submit Presentation, массив изображений обновляется с каждым URL-адресом для загрузки, но не по порядку:
Там написано Слайд1, затем Слайд3, Слайд12, Слайд9 и т. Д. Я понятия не имею, почему это происходит.Даже в Firestore они не в порядке.Это совершенно другой порядок, чем в базе данных Firebase.
Вот как я обрабатываю загрузку файлов при нажатии кнопки «Отправить презентацию»:
uploadImages() {
if (this.files) {
this.files.forEach(file => {
var storageRef = fb.storage().ref('presentations/' + file.name);
//storageRef.put(file);
let uploadTask = storageRef.put(file);
uploadTask.on('state_changed', (snapshot) => {
}, (error) => {
//Errors handled her
}, () => {
uploadTask.snapshot.ref.getDownloadURL().then((downloadURL) => {
this.presentation.images.push(downloadURL);
})
})
console.log(file);
db.collection("presentations").doc("mainPresentation").update(this.presentation)
})
}
}
Я просто хочу, чтобы изображения сохранялись в порядке, подобном тому, как они выбраны, потому что, как вы, вероятно, заметили, это изображения презентаций, поэтому, когда мне нужно читать из Firebase, я не хочу, чтобы изображения презентаций отображались вдругой заказ.
Буду признателен за любую помощь, спасибо!