zoukankan      html  css  js  c++  java
  • JS计算文件的md5

    首先需要引入js文件(二选一):

    https://raw.github.com/satazor/SparkMD5/master/spark-md5.js
    
    https://github.com/satazor/SparkMD5/blob/master/spark-md5.js

    示例代码(需要更换spark-md5.js的路径):

    <html>
    <head>
    <script type="text/javascript" src="spark-md5.js" ></script>
    </head>
    
    <body>
    <input type="file" id="file" />
    <div id="box"></div>
    <button id="cal" type="button" onclick="calculate()">计算md5</button>
    </body>
    
    <script>
    
    function calculate(){
        var fileReader = new FileReader(),
            box=document.getElementById('box');
            blobSlice = File.prototype.mozSlice || File.prototype.webkitSlice || File.prototype.slice,
            file = document.getElementById("file").files[0],
            chunkSize = 2097152,
            // read in chunks of 2MB
            chunks = Math.ceil(file.size / chunkSize),
            currentChunk = 0,
            spark = new SparkMD5();
    
        fileReader.onload = function(e) {
            console.log("read chunk nr", currentChunk + 1, "of", chunks);
            spark.appendBinary(e.target.result); // append binary string
            currentChunk++;
    
            if (currentChunk < chunks) {
                loadNext();
            }
            else {
                console.log("finished loading");
                box.innerText='MD5 hash:'+spark.end();
                console.info("computed hash", spark.end()); // compute hash
            }
        };
    
        function loadNext() {
            var start = currentChunk * chunkSize,
                end = start + chunkSize >= file.size ? file.size : start + chunkSize;
    
            fileReader.readAsBinaryString(blobSlice.call(file, start, end));
        };
    
        loadNext();
    }
    
    </script>
    </html>
  • 相关阅读:
    shell脚本使用记录一:操作文件
    用IDEA在Tomcat上部署项目
    通过反射获取属性名和属性类型
    IDEA设置生成类基本注释信息
    有序的Map集合--LinkedHashMap
    书面格式注意的问题
    悲观锁和乐观锁的区别
    解析xml文件的四种方式
    jsp的四种范围
    jsp的两种跳转方式和区别
  • 原文地址:https://www.cnblogs.com/sghy/p/8334291.html
Copyright © 2011-2022 走看看