mirror of
				https://github.com/1disk/edp445.git
				synced 2024-08-14 22:47:02 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			935 B
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			935 B
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <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>
 |