html 5+Ajax超大型ファイルアップロード(ファイルカット技術)

1984 ワード

ここでアップロードします:ファイルの大きさは制限がなくて、進捗バーを持って、進捗度はブラウザのレンダリング原理に連絡して、これも先生のステップによって来て、先生の指導がなければ私もできません
アップロードは主にファイルを小さく切ってそれぞれアップロードします.phpでこれらのファイルを統合します Insert title here function createXHR(){ var xhr; if(window.XMLHttpRequest){ xhr=new XMLHttpRequest(); }else if(window.ActiveXObject){ xhr=new ActiveXObject("Microsoft.XMLHTTP"); } return xhr; } var xhr=createXHR(); function uploadFile(fd){ xhr.open("POST",'sliceFile.php',false); xhr.send(fd); } var clock=null; var sendFile=(function (){ const LENGTH=10*1024*1024;// var start=0;// 0 var end =start+LENGTH;// var sending=false;// return (function (){ if(sending==true){ return; } var file=document.getElementsByTagName('input')[0].files[0];// var totalsize=file.size;// if(start>totalsize){ clearInterval(clock); return; } var fd=new FormData(); var blob=file.slice(start,end); fd.append('blob',blob); uploadFile(fd); start=end; end=start+LENGTH; sending=false; var percent=100*end/totalsize; if(percent>100){ percent=100; } document.getElementById('progress').style.width=percent+'%'; document.getElementById('progress').innerHTML=parseInt(percent)+'%'; }); })(); function start(){ clock=window.setInterval(sendFile,1000); }

php ,