基于HTML5 Ajax实现文件上传并显示进度条_AJAX相关

本文实例讲解了ajax上传文件及进度条的实现方法,分享给大家供大家参考,具体内容如下

效果图:

html5上传是同步上传的方式,所以能够实现进度条的显示。
1.上传文件:

首先我们用ajax来取得<input type="file" id="file_upload">的file对象:

var file = null;
var input = $("#file_upload");
//文件域选择文件时, 执行readFile函数
input.addEventListener('change',readFile,false);
function readFile(){
 file = this.files[0];
} 

 然后用FormData()送到后台。

 var fd = new FormData();
fd.append("file", file); 

 2.监听事件:给XMLHttpRequest添加上传中的监听事件,可以得到已上传的文件大小,用以实现进度条的显示。


//监听事件
hr.upload.addEventListener("progress", uploadProgress, false);

完整代码如下:

<html>
<head>
<meta charset="utf-8">
<title>进度条测试</title>
<script type="text/javascript" src="../js/jquery-1.11.1.min.js"></script>
</head>
<body> 

 <input type="file" id="file_upload"/>
 <input type="button" value="上传" id="upload"/>
 <div style="background:#848484;width:100px;height:10px;margin-top:5px">
 <div id="progressNumber" style="background:#428bca;width:0px;height:10px" >
 </div>
 </div>
 <font id="percent">0%</font>
</body>
<script>
var file = null;
$(function(){
 $("#upload").click(function(){
 upload();
 });
});
var input = document.getElementById("file_upload"); 

//文件域选择文件时, 执行readFile函数
input.addEventListener('change',readFile,false); 

function readFile(){
 file = this.files[0];
}
//上传文件
function upload(){
 var xhr = new XMLHttpRequest(); 

 var fd = new FormData(); 

 fd.append("fileName", file); 

 //监听事件
 xhr.upload.addEventListener("progress", uploadProgress, false); 

 //发送文件和表单自定义参数
 xhr.open("POST", "../UploadServlet",true); 

 xhr.send(fd);
 } 

 function uploadProgress(evt){
 if (evt.lengthComputable) {
  //evt.loaded:文件上传的大小 evt.total:文件总的大小
  var percentComplete = Math.round((evt.loaded) * 100 / evt.total);
  //加载进度条,同时显示信息
  $("#percent").html(percentComplete + '%')
  $("#progressNumber").css("width",""+percentComplete+"px");
 }
 }
</script>
</html> 

以上就是关于ajax实现带进度条的文件上传全部内容,希望对大家的学习有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索ajax实现文件上传
ajax文件上传
ajax实现上传进度条、html5上传进度条ajax、ajax文件上传进度条、ajax上传进度条、ajax上传文件带进度条,以便于您获取更多的相关知识。

时间: 2024-12-10 21:16:02

基于HTML5 Ajax实现文件上传并显示进度条_AJAX相关的相关文章

基于HTML5 Ajax实现文件上传并显示进度条

本文实例讲解了ajax上传文件及进度条的实现方法,分享给大家供大家参考,具体内容如下 效果图: html5上传是同步上传的方式,所以能够实现进度条的显示. 1.上传文件: 首先我们用ajax来取得<input type="file" id="file_upload">的file对象: var file = null; var input = $("#file_upload"); //文件域选择文件时, 执行readFile函数 inp

基于ajax实现文件上传并显示进度条_javascript技巧

下面给大家分享下基于ajax实现文件上传并显示进度条.在jsp部分,需要设计一个表单,form的属性添加 enctype="multipart/form-data",设计一个iframe,作为隐藏.form的target等于iframe的name; 在servlet部分:文件上传用的Commons-FileupLoad,需要两个Jar,commons-fileupload和commons-io,少了第二个会报出找不到类的异常: 第一个servlet处理上传,及把上传进度保存到sessi

Asp.Net 无刷新文件上传并显示进度条的实现方法及思路

相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦苦来 实现呢?我并不否认"拿来主义",只是我个人更喜欢凡是求个所以然.本篇将阐述通过Html,IHttpHandler和 IHttpAsyncHandler实现文件上传和上传进度的原理,希望对你有多帮助. 效果图: 本文涉及到的知识点: 1.前台用到Html,Ajax,JQuery,JQuery UI 2.后台用到一般处理程序(IHttpHandler)

Asp.Net 无刷新文件上传并显示进度条的实现方法及思路_实用技巧

相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦苦来 实现呢?我并不否认"拿来主义",只是我个人更喜欢凡是求个所以然.本篇将阐述通过Html,IHttpHandler和 IHttpAsyncHandler实现文件上传和上传进度的原理,希望对你有多帮助. 效果图: 本文涉及到的知识点:1.前台用到Html,Ajax,JQuery,JQuery UI 2.后台用到一般处理程序(IHttpHandler)和

js HTML5 Ajax实现文件上传进度条功能_javascript技巧

本文实例介绍了js结合HTML5 Ajax实现文件上传进度条功能,分享给大家供大家参考,具体内容如下 1.  lib.js var Host = window.location.host; //--Cookie function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name +

按钮-求多文件上传,带进度条的代码,?

问题描述 求多文件上传,带进度条的代码,? 用java 在mybaitys +struts2+spring 实现多文件上传 点上传按钮显进度条,上传到百分在再显示出图片.最好兼容多个浏览器. 解决方案 建议用FileUpload组件来实现 JAVA学习提高之---- FileUpload组件实现多文件上传 http://blog.csdn.net/luweifeng1983/article/details/3613544 解决方案二: 文件上传是前端的事,不干mybatis.spring,最多和

PHP + plupload.js实现多图上传并显示进度条加删除实例代码

PHP + plupload.js JS插件实现多图上传并显示进度条加删除实例,废话不多说,直接上代码 HTML代码: <!DOCTYPE html> <head> <meta charset="utf-8" /> <meta name="viewport" content="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no&qu

原生ajax和iframe框架实现图片文件上传的两种方式_AJAX相关

大家应该可以举出几种常用的异步文件上传功能的实现方式,使用频率较多的有原生ajax和iframe框架,实现图片文件上传,下面就为大家分享图片文件上传的两种方式:原生ajax和iframe框架,供大家参考,具体内容如下 方法一:利用iframe框架上传图片 html代码如下: <div class="frm"> <form name="uploadFrom" id="uploadFrom" action="upload.

JS插件plupload.js实现多图上传并显示进度条_javascript技巧

本文实例为大家分享了plupload.js多图上传的具体代码,供大家参考,具体内容如下 HTML代码: <!DOCTYPE html> <head> <meta charset="utf-8" /> <meta name="viewport" content="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">