基于HTML5ajax的文件上传和显示进度条
设计素描 uff1a
HTML5上传是同步上传,所以可以显示进度条。
1。上传文件:
首先,我们使用Ajax获取文件对象:
var文件= null;
输入= $(var# file_upload );
文件 /域选择的文件,执行ReadFile函数
Input.addEventListener(‘变',ReadFile,假);
函数ReadFile(){
文件=文件{ 0 };
}
然后将它发送到后台与表单()。
VaR FD =新表单();
Fd.append(文件
2。监控事件:添加上传监控事件的XMLHttpRequest,你可以上传文件的大小来实现进度条显示。
监视事件
Hr.upload.addEventListener(进步
完整的代码如下所示:
进度条的测试
0%
var文件= null;
$(函数(){())
$(#上传)。Click(function(){)
上传();
});
});
无功输入= document.getelementbyid(file_upload );
文件 /域选择的文件,执行ReadFile函数
Input.addEventListener(‘变',ReadFile,假);
函数ReadFile(){
文件=文件{ 0 };
}
上传文件
函数上载(){
新的XMLHttpRequest(XHR)var =;
VaR FD =新表单();
Fd.append(文件
监视事件
Xhr.upload.addEventListener(进步
发送/文档并形成自定义参数
Xhr.open(后
Xhr.send(FD);
}
功能uploadprogress(EVT){
如果(EVT。lengthcomputable){
/ / evt.loaded:大小的文件上传evt.total:文件的总大小
无功percentcomplete = math.round((EVT。加载)* 100 / EVT。总);
加载进度条和显示信息
$(# %)。Html(percentcomplete +%)
$(# progressnumber )Css(宽。
}
}
以上是关于ajax随进度文件上传的所有内容的实现,希望能对大家有所帮助。