用spark-md5.js自动生成MD5码

Posted ~零度~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用spark-md5.js自动生成MD5码相关的知识,希望对你有一定的参考价值。

项目中会遇到很多上传文件时自动生成MD5码的情况,根据查找资料,写了个小案例,仅供大家参考。

代码如下:

 html部分:

<body>
<input id="file" type="file" multiple="multiple">
<input type="text" id="md5">
</body>
js部分:
<script type="text/javascript" src="jquery-3.1.1.min.js"></script> //引入jquery
<script type="text/javascript" src="spark-md5.js"></script> //引入spark-md5.js插件
<script type="text/javascript">
var blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice,
input = $(‘#file‘),
running = false;
  $("#file").on("focus",function () {
$("#md5").val("");//添加文件时,#md5清空
});
$("#file").on("blur",function () {
if($("#file").val()){ //#file失去焦点时,文件特别大时#md5显示提示内容
$("#md5").val("正在生成MD5码,请稍等...").css("color","red");
}
    if (running) {
return;
}
if (!input.files.length) {
return;
}
var fileReader = new FileReader(),
file = input.files[0];
fileReader.onload = function (e) {
running = false;
if (file.size != e.target.result.byteLength) {
return false;
} else {
$("#md5").val(SparkMD5.ArrayBuffer.hash(e.target.result)).css("color","black");//生成md5码
}
};
running = true;
fileReader.readAsArrayBuffer(file);
});
</script>
以上仅部分功能。欢迎指正!





































以上是关于用spark-md5.js自动生成MD5码的主要内容,如果未能解决你的问题,请参考以下文章

nodejs 怎么从request获取上传文件

如何用xmlhttprequest实现大文件上传和断点续传

web worker计算md5实践及遇到的坑

下载软件后为啥要验证md5?

如何在ubuntu系统中验证系统文件的md5

MD5加密 生成32位md5码