使用js-sha1
import install js-sha1 -s
因项目需要,这里使用了Typescript,并将获得文件hash值的方法封装成一个函数,得到的hash值以Promise对象的形式暴露出去
核心代码
fileHash.ts文件
import sha1 from 'js-sha1'
class FileHash {
//计算文件的hash值
public getfilehash(file){
return new Promise(function(resolve, reject){
let fileReader=new FileReader();
fileReader.readAsArrayBuffer(file);
fileReader.onload=function(ev){
try{
let file=(ev.target as any).result;
let hash=sha1(file);
resolve(hash);
}catch(e){
reject(e);
}
}
})
}
}
export const fileHash=new FileHash();
vue文件
import {fileHash} from 'fileHash.ts文件的相对路径'
var filehash=fileHash.getfilehash(file);
filehash.then( res => {
console.log(res);
})