js 文件大小bytes自动格式化为kb,mb单位。

文件大小格式化工具函数

		function formatBytes(sizeBytes){
			let memoryUnits = [
				{
					unitName: 'bytes',
					threshold: 1024,
				},
				{
					unitName: 'KB',
					threshold: 1024,
				},
				{
					unitName: 'MB',
					threshold: 1024,
				},
				{
					unitName: 'GB',
					threshold: 1024,
				},
				{
					unitName: 'TB',
					threshold: 1024,
				},
			]
			
			let tempFileSize = sizeBytes;
			let matchIndex = -1;
			
			for(let i=0, end=false;i<memoryUnits.length ;i++) {
				let memoryUnit = memoryUnits[i], end = i === units.length-1
				if(tempFileSize <= memoryUnit.threshold || end ){
					matchIndex = i;
				   	break;
			    }
				
			   tempFileSize = tempFileSize / memoryUnit.threshold  
			}
			return {
				fileSize: tempFileSize + memoryUnits[matchIndex].unitName,
				matchUnit: memoryUnits[matchIndex],
				originalFileSize: sizeBytes,
			};
		}

// 示例
formatBytes(1024*3)

posted @ 2022-10-20 19:03  星小梦  阅读(505)  评论(0编辑  收藏  举报