使用spark-md5获取文件md5值
网上搜到的文章都乱七八糟的,参照官方例子稍微改了改
/*** 分片获取md5值* @param {*} file 文件对象* @param {*} chunkSize 分片大小* @param {*} progressCallback 进度修改回调* @returns */
function md5WithChunk(file, chunkSize, progressCallback = console.log) {return new Promise((resolve, reject) => {const blobSlice =File.prototype.slice ||File.prototype.mozSlice ||File.prototype.webkitSlicelet chunks = Math.ceil(file.size / chunkSize)let currentChunk = 0let spark = new SparkMD5.ArrayBuffer()let fileReader = new FileReader()fileReader.onerror = rejectfileReader.onload = (e) => {processCallback(currentChunk / chunks)spark.append(e.target.result)currentChunk++if (currentChunk < chunks) {loadNext()} else {resolve(spark.end())}}function loadNext() {let start = currentChunk * chunkSizelet end = start + chunkSize >= file.size ? file.size : start + chunkSizefileReader.readAsArrayBuffer(blobSlice.call(file, start, end))}loadNext()})
}
使用
<input id="file" type="file" onchange="showMd5(this.files[0])">
<script>
async function showMd5(file) {let md5 = await md5WithChunk(file,2*1024**2) //2MBconsole.log(md5);
}
<script>
效果(控制台)
0
0.006896551724137931
0.013793103448275862
0.020689655172413793
....
0.9862068965517241
0.9931034482758629f120ab831064012ff641ca83e918057
使用spark-md5获取文件md5值相关推荐
- iOS使用MD5 - 字符串加密至MD5获取文件MD5
iOS 字符串加密至MD5 #import <CommonCrypto/CommonDigest.h> + (NSString *) md5:(NSString *)str { ...
- 基于vue框架下使用Element-UI获取文件MD5值并上传
基于vue框架下使用Element-UI获取文件MD5值并上传 使用插件: spark-md5 .vue页面 <el-uploadclass="avatar-uploader idca ...
- C# 获取文件MD5值的方法
可用于对比文件是否相同 1 /// <summary> 2 /// 获取文件MD5值 3 /// </summary> 4 /// <param name="f ...
- JAVA中获取文件MD5值的四种方法
JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...
- window 获取文件md5值dos 脚本
window 获取文件md5值dos 脚本 将下面脚本内容写入md5sum.bat中: @echo offrem path: %UserProfile%\AppData\Roaming\Microso ...
- Qt获取文件md5值
md5做为文件完整性验证的手段之一,以下介绍Qt获取文件md5值得方式: #include <QCryptographicHash> QString Download::getFileMD ...
- Java 获取文件md5值校验文件
假如我们想校验两个文件网络传输中是否改变了,或者校验两个文件是否一致可以使用md5校验. 代码: import java.io.FileInputStream; import java.io.Inpu ...
- linux获取文件的md5,linux shell 获取文件md5的命令linux操作系统 -电脑资料
下面我给各位朋友总结一下在linux中利用shell命令来获取文件md5及遍历目录下所有文件的md5的例子,希望此例子对各位同学会有所帮助, 获取文件的MD5值: $ md5sum linuxmint ...
- python 获取文件CRC值
python 获取文件CRC值 crc值在文件改变之前是唯一的 import zlib def crc(fileName):hash = 0for eachLine in open(fileName, ...
- 浏览器获取文件MD5值
能做到大文件md5值的获取,但是文件越大耗时越久. spark-md5工具包:https://download.csdn.net/download/weixin_36524613/10545957 & ...
最新文章
- 云端应用SQL注入攻击
- 小菜学设计模式——高内聚、低耦合
- vim-addon-manager install youcompleteme
- 5G NGC — eNS(增强的网络切片)
- 网络编程学习笔记(recvfrom很奇怪的一个地方)
- C语言 显示数组元素的值和地址
- 李彦宏:AI在我有生之年不会毁灭人类
- java中注解的使用与实例(一)
- Java学习笔记:创建线程的两种方法
- ERROR 1064 (42000): You have an error in your SQL syntax
- 自然语言处理(NLP)书籍、项目、视频资源清单
- python 对角阵_numpy创建单位矩阵和对角矩阵的实例
- Flutter之路由系列之Route
- linux源代码分析和阅读工具比较
- 为什么 iPhone 的原装充电线容易坏?
- 2472 莫斯方块——题解与C++示例代码
- 通过斐波那契数列探讨时间复杂度和空间复杂度
- Solr配置中文的分词器-简单配置
- 最简单的方式实现竖排文字显示
- js 封装cookie
热门文章
- 微信公众号授权scope参数错误或没有scope权限
- VCF 文件 格式 详解
- android浏览器对比评测,11款手机浏览器性能横向评测
- win10 操作无法完成,因为文件已在windows资源管理器打开
- win7系统服务器停止,Windows7一个月后停止服务支持 Win7将于明年1月14日终止服务 停止服务后还能使用吗?...
- 26-TeamBuilding-团队建设
- Set接口以及子集合(HashSet/LinkedHashSet/TreeSet)的用法和数据结构
- HL340(usb转串口线)驱动
- 关于django的prefetch_related优化查询问题
- java方法集:大写金额转换数字