При конвертации объекта в json, а затем обратно теряется информация о файле
Проблема состоит в том, что нужно узнать информацию о том, сколько весит файл, и когда был редактирован в последний раз, но при использовании данного кода =>=>=>
onDropFiles(files) {
console.log(files) // до конвертации всё нормально
let objFile = JSON.stringify(files)
console.log(objFile);
console.log(JSON.parse(objFile)); //здесь же получаю только лишь 2 значения
},
Ответы (1 шт):
Начну с того почему теряется информация, скорее всего по причине того что в объекте файл определена функция которая выбирает именно эти 2 поля для сериализации в строку наверно по причине того что данные изначально строки в отличие от остальных (числа, даты)
Вот пример как это может происходить:
class Person {
constructor(name, date){
this.name = name
this.date = date
}
}
p = new Person('JOHN', new Date())
console.log(JSON.stringify(p)); // будет и имя и дата
p.toJSON = function(){ return {"name": this.name}} // <------
console.log(JSON.stringify(p)); // тут не будет даты
Извлечение данных из объектов можно делать гораздо более удобным способом, разумеется с дополнительными проверками. Например файл может быть один, или несколько, тогда это либо объект либо массив объектов. Как только мы определились с тем что же мы получили на входе, нам нужно извлечь к примеру дату и размер из файла:
const {lastModifiedDate, size} = file // files[0]
Таким образом в случае с одним файлом можно получить нужную информацию в константы. Если файлов будет много то делаем то же самое но в цикле, сохраняя в массив.

