crypto-js 前端获取文件 md5 值
最近有要在前端获取文件 md5 值,因此想到了crypto-js
实现方式
使用 JavaScript 内置的 FileReader 配合 crypto-js
实例代码
// 导入 crypto-js (如果使用的传统网页开发,script标签引入即可)
import CryptoJS from 'crypto-js'
/**
* @description 获取文件的 MD5 值
* @param {Blob || File} file 待处理文件(可以为 input 上传的文件或者 blob 对象)
* @return Promise<string>
*/
function fileMd5Sum(file) {
return new Promise((resolve) => {
const fileReader = new FileReader()
fileReader.onloadend = (ev) => {
resolve(
CryptoJS.MD5(CryptoJS.enc.Latin1.parse(ev.target.result)).toString(
CryptoJS.enc.Hex
)
)
}
fileReader.readAsBinaryString(file)
})
}
注意
异常记得自己处理哦
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。