这个网络很多教程,我使用的是VUE,就是你选择文件按钮选择文件(各种格式,含APK),然后读取该文件的MD5值。非常简单。
当然你也可用用在加密算法。
下载插件(参考):github.com/forsigner/b…
这下载插件不好使,建议使用npm安装方式:
d:该项目路径下 > npm i browser-md5-file -S
我们的按钮选择的是element格式,你可用使用原生的,但注意读取文件时的区别,参考:blog.csdn.net/bbs11007/ar…
el按钮样式:
<el-button
slot="trigger"
size="small"
type="primary"
:on-change="importFile"
>
选取文件
</el-button>
我们点击选择按钮文件后,选择引用
import BMF from 'browser-md5-file'; //这个使用npm
这个再github.com/forsigner/b…里面也写的很明白,也就是原生方式的写法,
const el = document.getElementById('upload');
const bmf = new BMF();
el.addEventListener('change', handle, false);//原生调用handle方法,监听选择的文件
function handle(e) {
const file = e.target.files[0];
bmf.md5(
file,
(err, md5) => {
console.log('err:', err);
console.log('md5 string:', md5); // 97027eb624f85892c69c4bcec8ab0f11
},
progress => {
console.log('progress number:', progress);
},
);
}
但是我这里是VUE写法,需要修改我自己要的,因为我们选择文件时时:on-change="importFile,就是再监听你选择的文件:
importFile(file,fileList){//选择文件按钮
// var objFile = document.getElementById('appPush').files[0];//原生按钮获取文件内容对象
var objFile = file.raw;//element按钮获取
//验证该文件格式是否是apk,你可用设置其他的方式
var objStr = /\.(apk)$/; //文件类型正则验证
if(!objStr.test(objFile.name)){
this.$alert('请选择正确的APK!', '警告', {
confirmButtonText: '确定',
});
return false;
}
//MD5的实现方式
const bmf = new BMF();
// const el = document.getElementById('upload');
// el.addEventListener('change', handle, false);//VUE使用这个会报错
bmf.md5(
objFile,
(err, md5) => {
console.log('err:', err);
// 97027eb624f85892c69c4bcec8ab0f11
console.log('这个文件MD5的值是:', md5);
},
progress => {
console.log('progress number:', progress);
},
);
t
},
所以得出的文件MD5的值是:97027eb624f85892c69c4bcec8ab0f11