|
1 | 1 | function humanFileSize(size) { |
2 | | - let i = Math.floor(Math.log(size) / Math.log(1024)); |
3 | | - return (size / Math.pow(1024, i)).toFixed(2) * 1 + ' ' + ['B', 'KB', 'MB', 'GB'][i]; |
| 2 | + const i = Math.floor(Math.log(size) / Math.log(1024)); |
| 3 | + return (size / Math.pow(1024, i)).toFixed(2) + ' ' + ['B', 'KB', 'MB', 'GB'][i]; |
4 | 4 | } |
5 | 5 |
|
6 | 6 | document.getElementById('imageInput').addEventListener('change', function (event) { |
7 | 7 | const file = event.target.files[0]; |
8 | 8 | if (!file) return; |
9 | | - |
10 | | - document.getElementById('fileInfo').innerHTML = `Original Size: ${humanFileSize(file.size)}`; |
11 | | - |
| 9 | + |
| 10 | + const fileInfo = document.getElementById('fileInfo'); |
| 11 | + fileInfo.innerHTML = `Original Size: ${humanFileSize(file.size)}`; |
| 12 | + const quality = parseFloat(document.getElementById('quality').value); |
| 13 | + |
12 | 14 | new Compressor(file, { |
13 | | - quality: 0.6, |
| 15 | + quality: quality, |
14 | 16 | success(result) { |
15 | | - const compressedBlob = result; |
16 | | - document.getElementById('fileInfo').innerHTML += `<br>Compressed Size: ${humanFileSize(compressedBlob.size)}`; |
| 17 | + fileInfo.innerHTML += `<br>Compressed Size: ${humanFileSize(result.size)}`; |
17 | 18 |
|
18 | 19 | const downloadBtn = document.getElementById('downloadBtn'); |
19 | | - const url = URL.createObjectURL(compressedBlob); |
| 20 | + const url = URL.createObjectURL(result); |
20 | 21 | downloadBtn.style.display = 'inline-block'; |
21 | | - downloadBtn.onclick = function() { |
| 22 | + downloadBtn.onclick = () => { |
22 | 23 | const a = document.createElement('a'); |
23 | 24 | a.href = url; |
24 | 25 | a.download = 'compressed-image.jpg'; |
|
0 commit comments