Maison >interface Web >Tutoriel H5 >Partage de technologie de téléchargement de fichiers volumineux HTML5
Cet article présente principalement comment implémenter la technologie de téléchargement de fichiers volumineux en HTML5. J'aimerais le partager avec vous pour votre référence.
Le code est le suivant :
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div> <div> 添加文件 <input type="file" name="" id="fileinput"> </div> <progress value="0" max="100" style='width:500px;margin-top:20px'></progress> <div style='margin-top:20px'> <span id="handler_info" ></span> </div> </div> <script src="Scripts/spark-md5.js"></script> <script> function get_filemd5sum(ofile) { var file = ofile; var tmp_md5; var blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice, // file = this.files[0], chunkSize = 2 * 1024 * 1024, // Read in chunks of 2MB chunks = Math.ceil(file.size / chunkSize), currentChunk = 0, spark = new SparkMD5.ArrayBuffer(), fileReader = new FileReader(); fileReader.onload = function(e) { // console.log('read chunk nr', currentChunk + 1, 'of', chunks); spark.append(e.target.result); // Append array buffer currentChunk++; var md5_progress = Math.floor((currentChunk / chunks) * 100); console.log(file.name + " 正在处理,请稍等," + "已完成" + md5_progress + "%"); var handler_info = document.getElementById("handler_info"); var progressbar = document.getElementsByClassName("progressbar")[0]; handler_info.innerHTML=file.name + " 正在处理,请稍等," + "已完成" + md5_progress + "%" progressbar.value =md5_progress; if (currentChunk < chunks) { loadNext(); } else { tmp_md5 = spark.end(); console.log(tmp_md5) handler_info.innerHTML = file.name + "的MD5值是:" + tmp_md5; } }; fileReader.onerror = function() { console.warn('oops, something went wrong.'); }; function loadNext() { var start = currentChunk * chunkSize, end = ((start + chunkSize) >= file.size) ? file.size : start + chunkSize; fileReader.readAsArrayBuffer(blobSlice.call(file, start, end)); } loadNext(); } var uploadfile = document.getElementById('fileinput') uploadfile.onchange = function(e){ var file = this.files[0]; if(!file) { alert('请选择文件!'); return false; } get_filemd5sum(file) } </script> </body> </html>
Recommandations associées :
Comment utiliser Ajax pour implémenter la fonction de téléchargement de fichiers volumineux
Partage de code de téléchargement de fichiers volumineux JS et WebService
Que dois-je faire si le téléchargement de fichiers volumineux PHP échoue ?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!