Я пытаюсь использовать EXIF.js с Vuex для отправки широты, долготы и даты изображений на сервер, но у меня возникла проблема с отправкой действия.Проблема в том, что EXIF.getData имеет обратный вызов (поэтому невозможно использовать отправку), а также, если я пытаюсь отправить в обещании (как показано ниже), это невозможно.Вы думаете, что есть решение?
upload() {
var formData = new FormData();
let counter=0
const formPromise = new Promise((resolve, reject) => {
let size = this.files.length
this.files.forEach(file => {
formData.append('images[]', file);
EXIF.getData(file, function () {
const long = EXIF.getTag(file, "GPSLongitude")
this.longitude = long[0].numerator + long[1].numerator /
(60 * long[1].denominator) + long[2].numerator / (3600 * long[2].denominator)
const lat = EXIF.getTag(file, "GPSLatitude")
this.latitude = lat[0].numerator + lat[1].numerator /
(60 * lat[1].denominator) + lat[2].numerator / (3600 * lat[2].denominator)
this.date = EXIF.getTag(file, "GPSDateStamp")
formData.append('latitudes[]', this.latitude);
formData.append('longitudes[]', this.longitude);
formData.append('dates[]', this.date);
counter+=1
if(counter == size) {
resolve(formData)
}
})
});
})
formPromise.then(function(formData){
this.$store.dispatch('createPhotos', data)
})
const categoryId = this.categoryId
const data = { formData, categoryId }
this.snackbar = true
this.files = [];
this.images = [];
}