官方webupload上传多个文件或者图片的方法
文件上传
页面代码:
- <!--引入CSS-->
- <link rel="stylesheet" type="text/css" href="webuploader文件夹/webuploader.css">
- <!--引入JS-->
- <script type="text/javascript" src="webuploader文件夹/webuploader.js"></script>
- <!--SWF在初始化的时候指定,在后面将展示-->
- <div id="uploader" class="wu-example">
- <!--用来存放文件信息-->
- <div id="thelist" class="uploader-list"></div>
- <div class="btns">
- <div id="picker">选择文件</div>
- <button id="ctlBtn" class="btn btn-default">开始上传</button>
- </div>
- </div>
常用的js
- // 文件上传
- jQuery(function() {
- var $ = jQuery,
- $list = $('#thelist'),
- $btn = $('#ctlBtn'),
- state = 'pending',
- uploader;
- uploader = WebUploader.create({
- // 不压缩image
- resize: false,
- // swf文件路径
- swf: BASE_URL + '/js/Uploader.swf',
- // 文件接收服务端。
- server: 'http://webuploader.duapp.com/server/fileupload.php',
- // 选择文件的按钮。可选。
- // 内部根据当前运行是创建,可能是input元素,也可能是flash.
- pick: '#picker'
- });
- // 当有文件添加进来的时候
- uploader.on( 'fileQueued', function( file ) {
- $list.append( '<div id="' + file.id + '" class="item">' +
- '<h4 class="info">' + file.name + '</h4>' +
- '<p class="state">等待上传...</p>' +
- '</div>' );
- });
- // 文件上传过程中创建进度条实时显示。
- uploader.on( 'uploadProgress', function( file, percentage ) {
- var $li = $( '#'+file.id ),
- $percent = $li.find('.progress .progress-bar');
- // 避免重复创建
- if ( !$percent.length ) {
- $percent = $('<div class="progress progress-striped active">' +
- '<div class="progress-bar" role="progressbar" style="width: 0%">' +
- '</div>' +
- '</div>').appendTo( $li ).find('.progress-bar');
- }
- $li.find('p.state').text('上传中');
- $percent.css( 'width', percentage * 100 + '%' );
- });
- uploader.on( 'uploadSuccess', function( file ) {
- $( '#'+file.id ).find('p.state').text('已上传');
- });
- uploader.on( 'uploadError', function( file ) {
- $( '#'+file.id ).find('p.state').text('上传出错');
- });
- uploader.on( 'uploadComplete', function( file ) {
- $( '#'+file.id ).find('.progress').fadeOut();
- });
- uploader.on( 'all', function( type ) {
- if ( type === 'startUpload' ) {
- state = 'uploading';
- } else if ( type === 'stopUpload' ) {
- state = 'paused';
- } else if ( type === 'uploadFinished' ) {
- state = 'done';
- }
- if ( state === 'uploading' ) {
- $btn.text('暂停上传');
- } else {
- $btn.text('开始上传');
- }
- });
- $btn.on( 'click', function() {
- if ( state === 'uploading' ) {
- uploader.stop();
- } else {
- uploader.upload();
- }
- });
- });
图片上传
页面部分:
- <!--引入CSS-->
- <link rel="stylesheet" type="text/css" href="webuploader文件夹/webuploader.css">
- <!--引入JS当然还有jQuery 的包-->
- <script type="text/javascript" src="webuploader文件夹/webuploader.js"></script>
- <!--SWF在初始化的时候指定,在后面将展示-->
- <!--dom结构部分-->
- <div id="uploader-demo">
- <!--用来存放item-->
- <div id="fileList" class="uploader-list"></div>
- <div id="filePicker">选择图片</div>
- </div>
上传图片:
- // 图片上传demo
- jQuery(function() {
- var $ = jQuery,
- $list = $('#fileList'),
- // 优化retina, 在retina下这个值是2
- ratio = window.devicePixelRatio || 1,
- // 缩略图大小
- thumbnailWidth = 100 * ratio,
- thumbnailHeight = 100 * ratio,
- // Web Uploader实例
- uploader;
- // 初始化Web Uploader
- uploader = WebUploader.create({
- // 自动上传。
- auto: true,
- // swf文件路径
- swf: BASE_URL + '/js/Uploader.swf',
- // 文件接收服务端。
- server: 'http://webuploader.duapp.com/server/fileupload.php',
- // 选择文件的按钮。可选。
- // 内部根据当前运行是创建,可能是input元素,也可能是flash.
- pick: '#filePicker',
- // 只允许选择文件,可选。
- accept: {
- title: 'Images',
- extensions: 'gif,jpg,jpeg,bmp,png',
- mimeTypes: 'image/*'
- }
- });
- // 当有文件添加进来的时候
- uploader.on( 'fileQueued', function( file ) {
- var $li = $(
- '<div id="' + file.id + '" class="file-item thumbnail">' +
- '<img>' +
- '<div class="info">' + file.name + '</div>' +
- '</div>'
- ),
- $img = $li.find('img');
- $list.append( $li );
- // 创建缩略图
- uploader.makeThumb( file, function( error, src ) {
- if ( error ) {
- $img.replaceWith('<span>不能预览</span>');
- return;
- }
- $img.attr( 'src', src );
- }, thumbnailWidth, thumbnailHeight );
- });
- // 文件上传过程中创建进度条实时显示。
- 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 ) {
- $( '#'+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();
- });
- });
官方webupload上传多个文件或者图片的方法的更多相关文章
- ASP.NET 使用ajaxfileupload.js插件出现上传较大文件失败的解决方法(ajaxfileupload.js第一弹)
在写这篇的时候本来想把标题直接写成报错的提示,如下: “SecurityError:Blocked a frame with origin "http://localhost:55080&q ...
- ASP.NET 使用ajaxupload.js插件出现上传较大文件失败的解决方法
在网上下载了一个ajaxupload.js插件,用于无刷新上传图片使的,然后就按照demo的例子去运行了一下,上传啊什么的都OK,但是正好上传的示例图片有一个比较大的,4M,5M的样子,然后上传就会报 ...
- 通过Fastdfs进行文件上传服务(文件和图片的统一处理)
1.文件上传简单流程分析图: 2.Fastdfs介绍: Fastdfs由两个角色组成: Tracker(集群):调度(帮你找到有空闲的Storage) Storage(集群):文件存储(帮你保存文件或 ...
- spring mvc文件上传(单个文件上传|多个文件上传)
单个文件上传spring mvc 实现文件上传需要引入两个必须的jar包 1.所需jar包: commons-fileupload-1.3.1.jar ...
- 文件的上传(1)(表单上传和ajax文件异步上传)
文件的上传(表单上传和ajax文件异步上传) 项目中用户上传总是少不了的,下面就主要的列举一下表单上传和ajax上传!注意: context.Request.Files不适合对大文件进行操作,下面列举 ...
- ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件
前言: 从开始学习Vue到使用element-ui-admin已经有将近快两年的时间了,在之前的开发中使用element-ui上传组件el-upload都是直接使用文件选取后立即选择上传,今天刚好做了 ...
- 前端js webuploader上传(导入)excel文件
项目开发中用到导入(上传)Excel文件 我使用的是百度的webuploader: 1:下载:http://fex.baidu.com/webuploader/(官方下载/示例) 2:使用Web Up ...
- 强大的支持多文件上传的jQuery文件上传插件Uploadify
支持多文件上传的jQuery文件上传插件Uploadify,目前此插件有两种版本即Flash版本和HTML5版本,对于HTML5版本会比较好的支持手机浏览器,避免苹果手机Safari浏览器不支持Fla ...
- SecureCRT上传和下载文件
SecureCRT上传和下载文件(下载默认目录) SecureCR 下的文件传输协议有ASCII .Xmodem .Ymodem .Zmodem ASCII:这是最快的传输协议,但只能传送文本文件. ...
随机推荐
- lightoj 1074【spfa判负环】
题意: 给你一幅图,dis(u->v)的权值就是(w[v]-w[u])*(w[v]-w[u])*(w[v]-w[u]),所以有可能是负的,给你n个询问,给出最短路,长度<3或者不可达输出& ...
- 求N!的长度【数学】
转自:http://blog.csdn.net/fengdian29147001/article/details/11992755 给一个数X,len=log10(X)+1就是X这个数的长度 ①:当N ...
- 织梦cms 应急响应 修复建议
通过分析log日志,可以知道攻击者的IP 攻击时间 和具体操作 本片文章为内网测试,通过分析日志,进行复现攻击流程,同时对网站的后门给予修复建议 通过分析日志可以知道,攻击者使用了扫描工具进行网站扫描 ...
- perl 操作文件指针
之前使用perl 脚本写了一个读取文件的小工具,但是由于当时使用的Tie 的方式,在处理大文件时,效率并不十分理想,所以在网上搜索了perl 如何操作文件指针的文章,自己也学习一下,本博客就是学习过程 ...
- FMDB存储模型对象(以二进制存储)用NSKeyedArchiver archivedDataWithRootObject序列号,NSKeyedUnarchiver unarchiveObjectWithData反序列化(重点坑是sql语句@"insert into t_newsWithChannel (nwesName,newsType) values (?,?)")一定要用占位符
交友:微信号 dwjluck2013 一.封装FMDB单例 (1)JLFMDBHelp.h文件 #import <Foundation/Foundation.h> #import < ...
- 捕获异常try-catch-finally
异常分类 try-carch-finally出现规则 return关键字的使用 finally中慎用return,虽然语法上没错,但是由于finally的强制执行,影响逻辑上需要return的值 pa ...
- 爬虫的UA池和代理池
爬虫的UA池和代理池 一.下载中间件 先祭出框架图: 下载中间件(Downloader Middlewares) 位于scrapy引擎和下载器之间的一层组件. - 作用: (1)引擎将请求传递给下 ...
- python虚拟环境四
python虚拟环境管理器 我们在使用python虚拟环境的时候,最好安装一个虚拟环境管理器,这样我们就能很方便的管理python的 虚拟环境,而python的虚拟环境管理工具包就是virtualen ...
- 解决windows下 Python中 matplotlib 做图中文不显示的问题
在代码中填入以下两句即可 from pylab import mpl mpl.rcParams['font.sans-serif'] = [font_name] 如:mpl.rcParams['fon ...
- c#学习系列之字段(静态,常量,只读)
C#静态变量使用 static 修饰符进行声明,在类被实例化时创建,通过类进行访问不带有 static 修饰符声明的变量称做非静态变量.static变量在对象被实例化时创建,通过对象进行访问一个类的所 ...