600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 怎样实现文件上传带进度条动画

怎样实现文件上传带进度条动画

时间:2024-02-15 23:34:01

相关推荐

怎样实现文件上传带进度条动画

web前端|js教程

进度,上传,文件

web前端-js教程jQuery File Upload 是一个Jquery图片上传组件,支持多文件上传、取消、删除,上传前缩略图预览、列表显示图片大小,支持上传进度条显示;支持各种动态语言开发的服务器端。

帝国登录源码,下安装ubuntu教程,爬虫信息情感分析,实时定位php,php seo技巧lzw

效果图如下所示:

.net 系统源码,vscode下载安装中文,离线ubuntu gcc,tomcat轮训负载均衡,带cookie爬虫,php实现上传进度条,手机端seo优化怎么样,宣传展示网站源码,metinfo自定义模板lzw

c mfc源码,vscode为啥装不成功,ubuntu移除snap,tomcat弱口令修改,巴西小伙爬虫,php中防止sql注入,璧山区低成本seo推广效果,asp 瓷砖 网站源码lzw

html 部分

浏览...

css 部分

/*文件上传控件*/ .bar { background-image: -webkit-linear-gradient(top,#5cb85c 0,#449d44 100%); background-image: -o-linear-gradient(top,#5cb85c 0,#449d44 100%); background-image: -webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44)); background-image: linear-gradient(to bottom,#5cb85c 0,#449d44 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff5cb85c, endColorstr=#ff449d44, GradientType=0); background-repeat: repeat-x; height: 20px; font-size: 12px; line-height: 20px; color: #fff; text-align: center; background-color: #428bca; -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.15); box-shadow: inset 0 -1px 0 rgba(0,0,0,.15); -webkit-transition: width .6s ease; -o-transition: width .6s ease; transition: width .6s ease; } #progress { background-image: -webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%); background-image: -o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%); background-image: -webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5)); background-image: linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffebebeb, endColorstr=#fff5f5f5, GradientType=0); background-repeat: repeat-x; height: 20px; width: 0%; margin-bottom: 20px; overflow: hidden; background-color: #f5f5f5; border-radius: 4px; -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1); box-shadow: inset 0 1px 2px rgba(0,0,0,.1); margin-top: 20px; } .glyphicon { position: relative; top: 1px; display: inline-block; font-family: Glyphicons Halflings; font-style: normal; font-weight: 400; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .glyphicon-plus:before { content: "\2b"; } .btn-success { color: #fff; background-color: #5cb85c; border-color: #4cae4c; } .btn { display: inline-block; padding: 6px 12px; margin-bottom: 0; font-size: 14px; font-weight: 400; line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-image: none; border: 1px solid transparent; border-radius: 4px; }

js 部分

$(#file_upload).fileupload({ dataType: json, url:${pageContext.request.contextPath}/excel/upload, autoUpload:false, add: function (e, data) { $(#progress).css( width,% ); $(#progress .bar).css( width, % ); $("#uploadText").empty(); var fileType = data.files[0].name.split(.).pop(); // console.log(data); var acceptFileTypes = /xls|xlsx$/i; var size = data.files[0].size; size = (size/1024).toFixed(2);//文件大小单位kb var maxFileSize = 5*1024;//最大允许文件大小单位kb if (!acceptFileTypes.test(fileType)) { new Message({message:"不支持的文件类型,仅支持EXCEL文件"}); return ; } if(size>maxFileSize){ new Message({message:"文件大小:"+size+"KB,超过最大限制:"+maxFileSize+"KB"}); return ; } data.context = $("").text("上传") .appendTo("#uploadText") .click(function () {data.context = $("").text("正在上传...").replaceAll($(this));data.submit(); }); }, progressall: function (e, data) { var progress = parseInt(data.loaded / data.total * 100, 10); $(#progress).css( width,100% ); $(#progress .bar).css( width,progress + \% ); }, fail:function (e, data) { new Message({message:"上传失败"}); }, done: function (e, data) { console.log(data.files[0]); var fileName = data.files[0].name; var size = data.files[0].size; var obj = data.result; if(obj.success == true){ $("#filePath").val(obj.result.fileId+"&"+obj.result.opLogId); data.context.text("文件上传已完成!文件名:"+fileName+" 文件大小:"+size+"kb"); }else{ alert(obj.errorMsg); } } });

XHR响应为Json时IE的下载BUG

这里需要特别注意的是,由于jQuery File Upload都是采用XHR在传递数据,服务器端返回的通常是JSON格式的响应,但是IE会将这些JSON响应误认为是文件传输,然后直接弹出下载框询问是否需要下载。

解决这个问题的方法是必须将相应的Http Head从

Content-Type: application/json

更改为

Content-Type: text/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。