md5加密传输文件实例

xiaoxiao2021-02-28  11

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body>    <input id="ChooseFile" type="file" value="上传文件"/><span class="help-inline">选择本地文件</span>     <div id="log"></div> </body>      <!--<script src="http://cdn.rawgit.com/satazor/SparkMD5/master/spark-md5.min.js"></script>--> <script src="js/spark-md5.js" type="text/javascript" charset="utf-8"></script> <script src="js/spark-md5.min.js" type="text/javascript" charset="utf-8"></script> <script> var log = document.getElementById("log"); document.getElementById("ChooseFile").addEventListener("change", function () { var blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice, file = this.files[0], chunkSize = 2097152, // 将文件切割成2m读取 因为文件太大可能读取失败 chunks = Math.ceil(file.size / chunkSize), currentChunk = 0, spark = new SparkMD5.ArrayBuffer(), frOnload = function (e) { spark.append(e.target.result); currentChunk++; if (currentChunk < chunks)//判断是否读取完成 loadNext(); else //读取md5值 log.innerHTML = spark.end().toUpperCase(); }; function loadNext() { var fileReader = new FileReader(); fileReader.onload = frOnload; var start = currentChunk * chunkSize, end = ((start + chunkSize) >= file.size) ? file.size : start + chunkSize; fileReader.readAsArrayBuffer(blobSlice.call(file, start, end)); }; loadNext();//调用 }); </script> </body> </html>
转载请注明原文地址: https://www.6miu.com/read-2650210.html

最新回复(0)