分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

js获取文件md5库

发布时间:2023-09-06 01:12责任编辑:董明明关键词:js
在做文件系统时,上传下载需要获取到文件的md5。
上传获取文件md5优点:将文件md5传至后段服务器,若服务器已存在该文件,则将该文件关联,实现‘秒传’的功能。
下载获取文件md5优点:下载文件完成后将文件md5传给后端,后端判断文件下载是否完整。
 
##js-spark-md5类库实现快速获取文件md5
demo如下:
<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title></title></head><body><form method="POST" enctype="multipart/form-data" onsubmit="return false;" > ???<input id=file type=file placeholder="select a file" /></form><pre id=log></pre><script src="//cdn.rawgit.com/satazor/SparkMD5/master/spark-md5.min.js"></script><script> ???var log=document.getElementById("log"); ???document.getElementById("file").addEventListener("change", function() { ???????var blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice, ???????????????file = this.files[0], ???????????????chunkSize = 2097152, // read in chunks of 2MB ???????????????chunks = Math.ceil(file.size / chunkSize), ???????????????currentChunk = 0, ???????????????spark = new SparkMD5.ArrayBuffer(), ???????????????frOnload = function(e){ ?????????????????// ?log.innerHTML+="\nread chunk number "+parseInt(currentChunk+1)+" of "+chunks; ???????????????????spark.append(e.target.result); // append array buffer ???????????????????currentChunk++; ???????????????????if (currentChunk < chunks) ???????????????????????loadNext(); ???????????????????else ???????????????????????log.innerHTML+="\n加载结束,文件md5:\n"+spark.end(); ???????????????}, ???????????????frOnerror = function () { ???????????????????log.innerHTML+="err"; ???????????????}; ???????function loadNext() { ???????????var fileReader = new FileReader(); ???????????fileReader.onload = frOnload; ???????????fileReader.onerror = frOnerror; ???????????var start = currentChunk * chunkSize, ???????????????????end = ((start + chunkSize) >= file.size) ? file.size : start + chunkSize; ???????????fileReader.readAsArrayBuffer(blobSlice.call(file, start, end)); ???????}; ???????loadNext(); ???});</script></body></html>

 js库在我百度网盘

链接: https://pan.baidu.com/s/1jIaJZrK 密码: yfbp

js获取文件md5库

原文地址:http://www.cnblogs.com/nanguabushuohua/p/7568270.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved