| <input type="file" id="input"> |
| <output id="output"></output> |
| <style> |
| output::before { |
| content: "output:"; |
| } |
| output { |
| display: block; |
| padding: 1em; |
| margin: 1em; |
| outline: 1px solid gray; |
| white-space: pre-wrap; |
| } |
| </style> |
| <script src="../dist/md5.min.js"></script> |
| <script> |
| |
| |
| function readAsArrayBuffer(file){ |
| return new Promise(function(resolve) { |
| var reader = new FileReader(); |
| reader.readAsArrayBuffer(file) |
| reader.onload = function(e) { |
| resolve(e.target.result) |
| }; |
| }); |
| } |
| |
| input.onchange = function(e) { |
| var file = input.files[0]; |
| readAsArrayBuffer(file) |
| .then(buffer => { |
| console.log(buffer); |
| var now = performance.now(); |
| var hash = MD5(buffer); |
| var after = performance.now() - now; |
| output.innerHTML = ` |
| file: ${file.name} |
| size: ${file.size} bytes |
| type: ${file.type} |
| md5: ${hash} |
| duration: ${after.toFixed(2)} ms |
| `; |
| }) |
| } |
| |
| |
| </script> |