formatBytes function
Human-readable file size, e.g. 24.3 MB.
Implementation
String formatBytes(int bytes) {
if (bytes <= 0) return '—';
const units = ['B', 'KB', 'MB', 'GB'];
var value = bytes.toDouble();
var unit = 0;
while (value >= 1024 && unit < units.length - 1) {
value /= 1024;
unit++;
}
return '${value.toStringAsFixed(unit < 2 ? 0 : 1)} ${units[unit]}';
}