功能强大的文件上传插件带上传进度-WebUploader
WebUploader是由Baidu WebFE(FEX)团队开发的一个以HTML5/FLASH构建的现代文件上传组件。在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用老的FLASH运行时,兼容PC和移动端。它最大的特点是采用大文件分片并发上传,极大的提高了文件上传效率。touchend略要处理下。功能强大的文件上传插件带上传进度 ,有兴趣请直接下载源码拿去用。
我们首先将css和相关js文件加载。然后我们需要准备一个按钮#imgPicker,和一个用来存放添加的文件信息列表的容器#fileList,在body中加入如下代码:
首先js创建Web Uploader实例: var uploader = WebUploader.create({ auto: true, // 选完文件后,是否自动上传 swf: 'js/Uploader.swf', // swf文件路径 server: 'upload.php', // 文件接收服务端 pick: '#imgPicker', // 选择文件的按钮。可选 // 只允许选择图片文件。 accept: { title: 'Images', extensions: 'gif,jpg,jpeg,bmp,png', mimeTypes: 'image/*' }
}); uploader.on( 'fileQueued', function( file ) { var $list = $("#fileList"), $li = $( '<div id="' + file.id + '" class="file-item thumbnail">' + '<img>' + '<div class="info">' + file.name + '</div>' + '</div>' ), $img = $li.find('img'); // $list为容器jQuery实例 $list.append( $li ); // 创建缩略图 uploader.makeThumb( file, function( error, src ) { if ( error ) { $img.replaceWith('<span>不能预览</span>'); return; } $img.attr( 'src', src ); }, 100, 100 ); //100x100为缩略图尺寸
});
// 文件上传过程中创建进度条实时显示。
uploader.on( 'uploadProgress', function( file, percentage ) { var $li = $( '#'+file.id ), $percent = $li.find('.progress span'); // 避免重复创建 if ( !$percent.length ) { $percent = $('<p class="progress"><span></span></p>') .appendTo( $li ) .find('span'); } $percent.css( 'width', percentage * 100 + '%' );
}); // 文件上传成功,给item添加成功class, 用样式标记上传成功。
uploader.on( 'uploadSuccess', function( file, res ) { console.log(res.filePath);//这里可以得到上传后的文件路径 $( '#'+file.id ).addClass('upload-state-done');
}); // 文件上传失败,显示上传出错。
uploader.on( 'uploadError', function( file ) { var $li = $( '#'+file.id ), $error = $li.find('div.error'); // 避免重复创建 if ( !$error.length ) { $error = $('<div class="error"></div>').appendTo( $li ); } $error.text('上传失败');
}); // 完成上传完了,成功或者失败,先删除进度条。
uploader.on( 'uploadComplete', function( file ) { $( '#'+file.id ).find('.progress').remove();
});
.prev{left: 20px}
.next{right: 20px}
PHP处理文件上传 upload.php接收上传数据,将上传的文件保存到服务器相关目录,并将上传结果告知前端上传组件。 这里值得一提的是,如果设置了大文件分片上传,PHP将每次上传的小文件片临时保存,等最后文件片全部接收完毕后再将这些临时文件片组合,成为一个完整的大文件。 webuploader的分片上传是把文件分成若干份,然后向你定义的文件接收端post数据,如果上传的文件大于分片的尺寸,就会进行分片,然后会在post的数据中添加两个form元素chunk和chunks,前者标示当前分片在上传分片中的顺序(从0开始),后者代表总分片数。 关于upload.php中的代码,这里就不贴出来了,大家可以下载源码来学习。 Web Uploader项目的官网地址:http://fex.baidu.com/webuploader/
这里可以看演示效果 功能强大的文件上传插件带上传进度
功能强大的文件上传插件带上传进度-WebUploader相关推荐
- html中剪切图片所用插件,简单功能强大的jQuery图片剪裁插件Image Cropper
插件描述:相信很多朋友都在大型的网站,如新浪微博.QQ微博上看到过头像裁图工具,感觉很高大尚吧,今天朋友们有福了,今天就来说一说一款这么高大尚的插件cropper,cropper是一款使用简单且功能强 ...
- cropper简单且功能强大的图片剪裁jQuery插件
cropper是一款使用简单且功能强大的图片剪裁jQuery插件.该图片剪裁插件支持图片放大缩小,支持图片旋转,支持触摸屏设备,支持canvas,并且支持跨浏览器使用. cropper提供了大量的参数 ...
- 功能强大的 Javascript 动画库插件
本期介绍一个前端动画插件anime.js,anime.js 是一款功能强大的 Javascript 动画库插件,可以和 CSS3 属性,SVG,DOM 元素和 JS 对象一起工作,制作出各种高性能,平 ...
- webuploader php版,功能强大的文件上传组件-WebUploader
使用WebUploader还可以批量上传文件.支持缩略图等等众多参数选项可设置,以及多个事件方法可调用,你可以随心所欲的定制你要的上传组件. 接下来我以图片上传实例,给大家讲解如何使用WebUploa ...
- html video 设置进度条不可拖动_PHP大文件切割上传并带上进度条功能,不妨一试...
文章来自:脚本之家链接:https://www.jb51.net/article/164316.htm 作者:hhmp 商务合作:请加微信(QQ):2230304070 资源教程分享 码农网-技术教程 ...
- jquery.photoClip.js图片上传插件带拖动裁剪
下载地址 jquery.photoClip.js是一款图片上传插件,可以拖动选择裁剪的区域. dd:
- html展开插件,分享10款功能强大的HTML5/CSS3应用插件
本文作者html5tricks,转载请注明出处 今天我们整理了10款功能非常强大的 1.纯CSS3美化 利用CSS3我们可以打造非常具有个性化的用户表单,今天我们就利用CSS3美化Checkbox复选 ...
- html查看器查看图片,jQuery功能强大的图片查看器插件
viewer是一款功能强大的图片查看器jQuery插件.它可以实现ACDsee等看图软件的部分功能.它可以对图片进行移动,缩放,旋转,翻转,可以前后浏览一组图片.该图片查看器还支持移动设备,支持键盘控 ...
- lighttpd+flash+PHP大文件上传,带上传进度显示
相信每个做web的程序员都曾经被large file 的上传困扰过,这个问题的出现是由于(1)网络带宽不足(或是网络不稳定)如果是在局域网内呢,呵呵^_^,目前大多数用户的带宽还较为有限.(2)HTT ...
最新文章
- docker部署nacos单机版
- Hibernate学习5—Hibernate操作对象
- 【AutoML】优化方法可以进行自动搜索学习吗?
- maxthon在浏览的页面上右键按住不动再按滚轮可以对打开的选项卡进行选择!
- 什么是typora,什么是markdown?利用typora编写markdown文本
- Android-NDK-hello-jniCallback
- SQLite shell操作
- 整理与总结Python关于对文件的操作
- 认识网页 网页的组成 0907
- YOLOv3 精度再次提高 4.3%,训练提速 40%!PaddleDetection全面升级
- 报表默认执行查询及汉字无法查询原因处理
- 2019日历全年一张_蒙太奇手帐丨2019品牌日历合集,手帐素材最佳选择
- 服务器session文件什么时候销毁,node中session存储与销毁,及session的生命周期
- 邻接矩阵转换为邻接表;邻接表转换为邻接矩阵
- CocosCreator Shader Editor 2D/3D 特效编辑器
- github用的jekyll是什么意思?
- Python爬虫系列之爬取微信公众号新闻数据
- 浅析exit()和atexit()函数
- Conflux 生态项目扶持计划首批扶持项目出炉
- 模糊字符串匹配:双音素算法