FormData上传文件显示进度百分比
2017-08-29 18:29
281 查看
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>FormData上传文件显示进度百分比</title> </head> <body> <progress id="upload_progress" value="0" max="100"></progress> <input id="upload_file" type="file" name="upload_file" /> <button id="btn_start">Start</button> <button id="btn_cancel">Cancel</button> <script type="text/javascript" src="/res/lib/jquery-1.11.3.js"></script> <script type="text/javascript"> var xhr = new XMLHttpRequest(); var progressBar = document.getElementById('upload_progress'); $('#btn_start').click(function() { var uploadFile = document.getElementById('upload_file').files[0]; var formData = new FormData(); formData.append('upload_file', uploadFile); // --------------------------------------- // 原生xmlHttpRequest发送 xhr.open('post', '/server_url.php'); xhr.onload = function() { alert('完成!'); }; xhr.onerror = function() { alert('无法连接服务器!'); }; xhr.upload.onprogress = function(progress) { if (progress.lengthComputable) { console.log(progress.loaded / progress.total * 100); progressBar.max = progress.total; progressBar.value = progress.loaded; } }; xhr.upload.onloadstart = function() { console.log('started...'); }; xhr.send(formData); // --------------------------------------- // 使用jQuery发送 /** $.ajax({ type: "POST", url: "/server_url.php", data: formData , //这里上传的数据使用了formData 对象 processData: false, contentType: false, //必须false才会自动加上正确的Content-Type //这里我们先拿到jQuery产生的 XMLHttpRequest对象,为其增加 progress 事件绑定,然后再返回交给ajax使用 xhr: function() { var xhr = $.ajaxSettings.xhr(); if (xhr.upload) { xhr.upload.onprogress = function(progress) { if (progress.lengthComputable) { console.log(progress.loaded / progress.total * 100); progressBar.max = progress.total; progressBar.value = progress.loaded; } }; xhr.upload.onloadstart = function() { console.log('started...'); }; } return xhr; } }).done(function(resp) { alert('完成!'); }).fail(function(err) { alert('无法连接服务器!') });*/ }); $('#btn_cancel').click(function() { xhr.abort(); }); </script> </body> </html>
相关文章推荐
- ajax FormData上传文件和数据,上传进度条显示
- HTML5 jQuery+FormData 异步上传文件,带进度条
- HTML5 jQuery+FormData 异步上传文件,带进度条
- SpringMVC+Ajax用FormData对象上传页面的图片(文件),并且立马在页面上显示出来
- JavaWeb项目实现上传文件动态显示进度百分比
- ajax利用html5新特性带进度条上传文件 html5的FormData对象和input的file属性以及window.URL.createObjectURL( ) 方法
- HTML5 jQuery+FormData 异步上传文件,带进度条
- H5实现formdata+ajax+上传进度上传文件
- JQuery和Servlet实现文件上传进度条,能显示上传速度,上传的百分比等
- HTML5 jQuery+FormData 异步上传文件,带进度条
- HTML5利用FormData对象实现显示进度条的文件上传【转】
- HTML5利用FormData对象实现显示进度条的文件上传【译】
- Ajax formData上传文件 + 进度条
- swfupload + commons-fileupload实现文件批量上传,带百分比进度条
- jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
- HTML5 FormData对象 的上传文件的使用
- jsp+Extjs实现动态显示文件上传进度
- jquery uploadify 实现批量上传,带进度显示,判断文件大小
- Android 上传文件到服务端,并显示进度条
- 大文件上传 显示进度