网上搜到的文章都乱七八糟的,参照官方例子稍微改了改

/*** 分片获取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值相关推荐

  1. iOS使用MD5 - 字符串加密至MD5获取文件MD5

    iOS 字符串加密至MD5 #import <CommonCrypto/CommonDigest.h>    + (NSString *) md5:(NSString *)str  {   ...

  2. 基于vue框架下使用Element-UI获取文件MD5值并上传

    基于vue框架下使用Element-UI获取文件MD5值并上传 使用插件: spark-md5 .vue页面 <el-uploadclass="avatar-uploader idca ...

  3. C# 获取文件MD5值的方法

    可用于对比文件是否相同 1 /// <summary> 2 /// 获取文件MD5值 3 /// </summary> 4 /// <param name="f ...

  4. JAVA中获取文件MD5值的四种方法

    JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...

  5. window 获取文件md5值dos 脚本

    window 获取文件md5值dos 脚本 将下面脚本内容写入md5sum.bat中: @echo offrem path: %UserProfile%\AppData\Roaming\Microso ...

  6. Qt获取文件md5值

    md5做为文件完整性验证的手段之一,以下介绍Qt获取文件md5值得方式: #include <QCryptographicHash> QString Download::getFileMD ...

  7. Java 获取文件md5值校验文件

    假如我们想校验两个文件网络传输中是否改变了,或者校验两个文件是否一致可以使用md5校验. 代码: import java.io.FileInputStream; import java.io.Inpu ...

  8. linux获取文件的md5,linux shell 获取文件md5的命令linux操作系统 -电脑资料

    下面我给各位朋友总结一下在linux中利用shell命令来获取文件md5及遍历目录下所有文件的md5的例子,希望此例子对各位同学会有所帮助, 获取文件的MD5值: $ md5sum linuxmint ...

  9. python 获取文件CRC值

    python 获取文件CRC值 crc值在文件改变之前是唯一的 import zlib def crc(fileName):hash = 0for eachLine in open(fileName, ...

  10. 浏览器获取文件MD5值

    能做到大文件md5值的获取,但是文件越大耗时越久. spark-md5工具包:https://download.csdn.net/download/weixin_36524613/10545957 & ...

最新文章

  1. 云端应用SQL注入攻击
  2. 小菜学设计模式——高内聚、低耦合
  3. vim-addon-manager install youcompleteme
  4. 5G NGC — eNS(增强的网络切片)
  5. 网络编程学习笔记(recvfrom很奇怪的一个地方)
  6. C语言 显示数组元素的值和地址
  7. 李彦宏:AI在我有生之年不会毁灭人类
  8. java中注解的使用与实例(一)
  9. Java学习笔记:创建线程的两种方法
  10. ERROR 1064 (42000): You have an error in your SQL syntax
  11. 自然语言处理(NLP)书籍、项目、视频资源清单
  12. python 对角阵_numpy创建单位矩阵和对角矩阵的实例
  13. Flutter之路由系列之Route
  14. linux源代码分析和阅读工具比较
  15. 为什么 iPhone 的原装充电线容易坏?
  16. 2472 莫斯方块——题解与C++示例代码
  17. 通过斐波那契数列探讨时间复杂度和空间复杂度
  18. Solr配置中文的分词器-简单配置
  19. 最简单的方式实现竖排文字显示
  20. js 封装cookie

热门文章

  1. 微信公众号授权scope参数错误或没有scope权限
  2. VCF 文件 格式 详解
  3. android浏览器对比评测,11款手机浏览器性能横向评测
  4. win10 操作无法完成,因为文件已在windows资源管理器打开
  5. win7系统服务器停止,Windows7一个月后停止服务支持 Win7将于明年1月14日终止服务 停止服务后还能使用吗?...
  6. 26-TeamBuilding-团队建设
  7. Set接口以及子集合(HashSet/LinkedHashSet/TreeSet)的用法和数据结构
  8. HL340(usb转串口线)驱动
  9. 关于django的prefetch_related优化查询问题
  10. java方法集:大写金额转换数字