UNPKG

2.52 kBJavaScriptView Raw
1
2/**
3 * 字节单位转换
4 * @param {*} bytes
5 */
6export const bytesToSize = (bytes) => {
7 if (bytes === 0) return '0 B';
8 var k = 1000, // or 1024
9 sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
10 i = Math.floor(Math.log(bytes) / Math.log(k));
11
12 return (bytes / Math.pow(k, i)).toPrecision(3) + ' ' + sizes[i];
13}
14
15/**
16 * 获得百分比
17 * @param {*} num
18 * @param {*} total
19 */
20export const getPercent = (num, total) => {
21 return total <= 0 ? 0 : (Math.round(num / total * 10000) / 100.00);
22}
23
24/**
25 * 获得文件扩展名样式
26 * @param {*} type
27 */
28export const getFileTypeIcon = (type) => {
29 let _type;
30 type = type.substr(type.lastIndexOf('.')).toLowerCase()
31 switch (type) {
32 case '.pdf':
33 _type = 'file-svg-pdf';
34 break;
35 case '.css':
36 _type = 'file-svg-css';
37 break;
38 case '.csv':
39 _type = 'file-svg-csv';
40 break;
41 case '.doc':
42 _type = 'file-svg-doc';
43 break;
44 case '.xlsx':
45 _type = 'file-svg-xlsx';
46 break;
47 case '.xls':
48 _type = 'file-svg-xls';
49 break;
50 case '.exe':
51 _type = 'file-svg-exe';
52 break;
53 case '.fla':
54 _type = 'file-svg-fla';
55 break;
56 case '.html':
57 _type = 'file-svg-html';
58 break;
59 case '.png':
60 _type = 'file-svg-png';
61 break;
62 case '.jpg':
63 _type = 'file-svg-jpg';
64 break;
65 case '.gif':
66 _type = 'file-svg-gif';
67 break;
68 case '.jpeg':
69 _type = 'file-svg-jpeg';
70 break;
71 case '.js':
72 _type = 'file-svg-js';
73 break;
74 case '.ppt':
75 _type = 'file-svg-ppt';
76 break;
77 case '.psd':
78 _type = 'file-svg-psd';
79 break;
80 case '.txt':
81 _type = 'file-svg-txt';
82 break;
83 case '.docx':
84 _type = 'file-svg-docx';
85 break;
86 case '.xml':
87 _type = 'file-svg-xml';
88 break;
89 case '.zip':
90 _type = 'file-svg-zip';
91 break;
92 case '.rar':
93 _type = 'file-svg-rar';
94 break;
95 case '.svg':
96 _type = 'file-svg-svg';
97 break;
98
99 default:
100 _type = 'file-svg-unknown';
101 break;
102 }
103 return _type;
104}
\No newline at end of file