Я использую следующую функцию для отображения размера файла в байтах в более удобочитаемом и понятном для пользователя интерфейсе.
function bytesToSize(bytes, precision)
{
var kilobyte = 1024;
var megabyte = kilobyte * 1024;
var gigabyte = megabyte * 1024;
var terabyte = gigabyte * 1024;
if ((bytes >= 0) && (bytes < kilobyte)) {
return bytes + ' B';
} else if ((bytes >= kilobyte) && (bytes < megabyte)) {
return (bytes / kilobyte).toFixed(precision) + ' KB';
} else if ((bytes >= megabyte) && (bytes < gigabyte)) {
return (bytes / megabyte).toFixed(precision) + ' MB';
} else if ((bytes >= gigabyte) && (bytes < terabyte)) {
return (bytes / gigabyte).toFixed(precision) + ' GB';
} else if (bytes >= terabyte) {
return (bytes / terabyte).toFixed(precision) + ' TB';
} else {
return bytes + ' B';
}
}
Однако проблема в том, что он показывает X KB, X MP .. и т.д.(округление результатов для отображения в пользовательском интерфейсе) и не в состоянии показать XY или сказать X, Y.После того, как эта вещь пришла мне в голову, я был в замешательстве и начал искать системы, чтобы показать, как они отображают их в пользовательском интерфейсе.Ниже приведены некоторые из них,
- FileZill: XXX, XXX, XXX байт (при загрузке)
- Проводник Windows: XXX, XXX КБ (в подробностях)
Теперь все это привело меня на новый уровень путаницы, так как размер, отображаемый в пользовательском интерфейсе с использованием вышеуказанной функции, не совсем точен, представьте размер файла в ГБ, который неправильно отображается для пользователя.
Пожалуйста, дайте знатьв каком формате эти данные должны отображаться для пользователей, чтобы быть более полезными и в то же время более точными.Кроме того, недвижимость стоит дорого на современных сложных веб-страницах, которые также необходимо учитывать.