В современных JavaScript-фреймворках, когда мы загружаем файл, мы обычно создаем функцию-обработчик для обработки любых изменений содержимого ввода типа файла. Например, в Vue JS это часто выглядит следующим образом:
async fileChange(e) {
if (e.target.files[0].size / (1024 * 1024) > 10) {
this.fileError = "File size is too large (max 10 MB)";
} else {
this.file = e.target.files[0];
}
},
Цель приведенного выше кода заключается в том, что если размер выбранного файла превышает 10 МБ, появится сообщение об ошибке. Если размер файла меньше или равен 10 МБ, то файл будет помещен в состояние.
Почему мы должны писать (1024 * 1024) в нашем коде? Почему бы нам просто не написать 1048576?
Поскольку в разных операционных системах существуют различия в подсчете размера файла. Например, расчет размера файла в Windows отличается от Linux Ubuntu.
Вычисление файлов в Windows:
Вычисление файлов в Ubuntu Linux:
Читать далее:
https://askubuntu.com/questions/341143/why-same-file-shows-different-sizes-in-different-operating-systems
С помощью этого решения, разница в расчетах в разных ОС может быть решена, что вы думаете?