本文实例介绍了js上传文件操作,分享给大家供大家参考,具体内容如下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN"> <head> <title>分割大文件上传</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style> #test{ width: 200px; height: 100px; border: 1px solid green; display: none; } #img{ width: 50px; height: 50px; display: none; } #upimg{ text-align: center; font: 8px/10px '微软雅黑','黑体',sans-serif; width: 300px; height: 10px; border: 1px solid green; } #load{ width: 0%; height: 100%; background: green; text-align: center; } </style> </head> <body> <form enctype="multipart/form-data" action="file.php" method="post"> <!-- <input type="file" name="pic" /> <div id="img"></div> <input type="button" value="uploadimg" onclick="upimg();" /><br /> --> <div id="upimg"> <div id="load"></div> </div> <input type="file" name="mof" multiple="multiple"/> <input type="button" value="uploadfile" onclick="upfile();" /> <input type="submit" value="submit" /> </form> <div id="test"> 测试是否DIV消失 </div> <script type="text/javascript"> var dom=document.getElementsByTagName('form')[0]; dom.onsubmit=function(){ //return false; } var xhr=new XMLHttpRequest(); var fd; var des=document.getElementById('load'); var num=document.getElementById('upimg'); var file; const LENGTH=10*1024*1024; var start; var end; var blob; var pecent; var filename; //var pending; //var clock; function upfile(){ start=0; end=LENGTH+start; //pending=false; file=document.getElementsByName('mof')[0].files[0]; //filename = file.name; if(!file){ alert('请选择文件'); return; } //clock=setInterval('up()',1000); up(); } function up(){ /* if(pending){ return; } */ if(start<file.size){ xhr.open('POST','file.php',true); //xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.onreadystatechange=function(){ if(this.readyState==4){ if(this.status>=200&&this.status<300){ if(this.responseText.indexOf('failed') >= 0){ //alert(this.responseText); alert('文件发送失败,请重新发送'); des.style.width='0%'; //num.innerHTML=''; //clearInterval(clock); }else{ //alert(this.responseText) // pending=false; start=end; end=start+LENGTH; setTimeout('up()',1000); } } } } xhr.upload.onprogress=function(ev){ if(ev.lengthComputable){ pecent=100*(ev.loaded+start)/file.size; if(pecent>100){ pecent=100; } //num.innerHTML=parseInt(pecent)+'%'; des.style.width=pecent+'%'; des.innerHTML = parseInt(pecent)+'%' } } //分割文件核心部分slice blob=file.slice(start,end); fd=new FormData(); fd.append('mof',blob); fd.append('test',file.name); //console.log(fd); //pending=true; xhr.send(fd); }else{ //clearInterval(clock); } } function change(){ des.style.width='0%'; } </script> </body> </html>
file.php:
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年09月20日
2024年09月20日
- 群星.1993-滚石九大天王十二出好戏·贺岁齐唱【滚石】【WAV+CUE】
- 黑神话悟空上品虫校尉精魄获取方法一览|上品虫校尉精魄收集攻略
- 《指环王:夏尔的传说》推迟至2025年初发行
- 黑神话悟空上品蝎太子精魄获取方法一览|上品蝎太子精魄收集攻略
- 银霞.1977-《台北66电影原声带》台湾复刻版[WAV+CUE]
- 银霞.1980-《你那好冷的小手》台湾珍藏纪念版[WAV+CUE]
- 王菲.2006《菲常好听》引进版[低速原抓WAV+CUE]
- 《三日危情独家的记忆》女角色介绍
- 《天国拯救》拉泰比武大会攻略
- 任天堂推出《马里奥惊奇》NS捆绑包 10月24日发售
- 《孤岛惊魂》能否逆转育碧颓势?曝系列新作正招兵买马
- 天命人呼叫战术轰炸!玩家自制《黑神话:悟空》轰炸机Mod
- 群星.1992-滚石九大天王·十二出好戏【滚石】【WAV+CUE】
- 群星.1994-新滚石九大天王之年度大丫滚石】【WAV+CUE】
- 坣娜.1998-别恋【非常喜】【WAV+CUE】