github.com/0chain/gosdk@v1.17.11/wasmsdk/demo/md5worker.js (about) 1 importScripts('https://rawgit.com/satazor/SparkMD5/master/spark-md5.min.js'); 2 3 self.addEventListener('message', (e) => { 4 const file = e.data; 5 const chunkSize = 128 * 1024;// 128KB 6 //create fileReaderSync 7 const totalParts = Math.ceil(file.size / chunkSize); 8 const fileReaderSync = new FileReaderSync(); 9 const spark = new self.SparkMD5.ArrayBuffer(); 10 for (let i = 0; i < totalParts; i++) { 11 const start = i * chunkSize; 12 const end = Math.min(file.size, start + chunkSize); 13 const buffer = fileReaderSync.readAsArrayBuffer(file.slice(start, end)); 14 15 spark.append(buffer); 16 } 17 const hash = spark.end(); 18 self.postMessage(hash); 19 });