官方网站:http://plupload.com/

jquery.plupload.queue插件,是上传图片组件很强大的插件。plupload 前端根据浏览器不同选择使用Html5、 Gears, Silverlight, Flash, BrowserPlus来对文件进行客户端优化,比如大图片的压缩,大文件分块上传,上传进度条、多文件上传等。

配置文档说明:

Browse_button:触发浏览文件按钮标签的唯一id,,在flash、html5、和silverlight中能找到触发事件的源(我理解的,这个参数在队列部件不需要参见) ;

Container: 展现上传文件列表的容器,[默认是body]

chunk_size:当上传文件大于服务器接收端文件大小限制的时候,可以分多次请求发给服务器,如果不需要从设置中移出

drop_element:当浏览器支持拖拽的情况下,能够文件拖放到你想要的容器ID里

file_data_name:设置上传字段的名称。默认情况下被设置为文件。(我试验了没找到该如何使用它,暂且不提)

filters:选择文件扩展名的过滤器,每个过滤规则中只有title和ext两项[{title:'', extensions:''}]

flash_swf_url:flash文件地址

headers:自定义的插入http请求的键值对

max_file_size:最大上传文件大小(格式100b, 10kb, 10mb, 1gb)

multipart:布尔值,如果用mutlipart 代替二进制流的方式,在webkit下无法工作

multipart_params: 跟 multipart关联在一起的键值对

multi_selection: 多选对话框

resize:修改图片属性 resize: {width: 320, height: 240, quality: 90}

runtimes:上传插件初始化选用那种方式的优先级顺序,如果第一个初始化失败就走第二个,依次类推

required_features:需要那些特性,才能初始化插件

url:上传服务器地址

unique_names:是否生成唯一的文件名,避免与服务器文件重名

urlstream_upload:布尔值 如果是flash上传应该用URLStream 代替FileReference.upload

jquery部件的属性:

dragdrop:是否支持拖拽,默认值true

multiple_queues:是否可以多次上传

preinit:插件初始化前回调函数

rename:布尔值,上传之前可以重命名文件,默认false,木有找到如何重命名啊

API文档:

     方法列表:

  Uploader(setting):创建实例的构造方法

var uploader = new plupload.Uploader({

runtimes : 'gears,html5,flash',

browse_button : 'button_id'

});

  bind(event, function[, scope]):绑定事件

uploader.bind('Init', function(up) {

alert('Supports drag/drop: ' + (!!up.features.dragdrop));

});

  destroy():销毁plupload的实例对象

uploader.destroy()

  getFile(id): 获取上传文件信息

uploader.bind('FilesAdded', function(up, files) {

for (var i in files) {

up.getFile(files[i].id);

}

});<span style="color: #ff0000; font-size: 13px;"> </span>

注:file:{
  id:文件编号,
  loaded: 已经上传多少字节,
  name: 文件名,
  percent:
上传进度,
  size: 文件大小,
  status: 有四种状态 QUEUED, UPLOADING, FAILED, DONE.对应数值
}

init:初始化plupload实例,添加监听对象

uploader.destroy()

  refresh:重新实例化uploader

 removeFile(id):从file中移除某个文件

  splice(start,length):从队列中start开始删除length个文件, 返回被删除的文件列表

  start() 开始上传

stop()停止上传

  unbind(name, function): 接触事件绑定

  unbindAll()解绑所有事件

 属性集合:

features:uploader中包含那些特性

files:当前队列中的文件列表

id:uploader实例的唯一id

runtime:当前运行环境(是html5、flash等等)

state:当前上传进度状态

total:当前上传文件的信息集合

事件集合:(up为uploader缩写)

BeforeUpload(up, file):文件上传完之前触发的事件

ChunkUploaded(up, file,response)文件被分块上传的事件

Destroy(up):uploader的destroy调用的方法

Error(up, err):上传出错的时候触发

Fileadded(up, files):用户选择文件时触发

FileRemoved(up, files):当文件从上传队列中移除触发

FileUploaded(up, file, res):文件上传成功的时候触发

Init(up):当初始化的时候触发

PostInit(up):init执行完以后要执行的事件触发

QueueChanged(up):当文件队列变化时触发

Refresh(up):当silverlight/flash或是其他运行环境需要移动的时候触发

StateChanged(up)当整个上传队列被改变的时候触发

UploadComplete(up,file)当队列中所有文件被上传完时触发

UploadFile(up,file)当一个文件被上传的时候触发

UploadProgress(up,file):当文件正在被上传中触发

参见:

示例:http://plupload.com/example_queuewidget.php

API:http://plupload.com/plupload/docs/api/index.html

注释:1、gears:http://zh.wikipedia.org/wiki/Gears

2、Silverlight:http://zh.wikipedia.org/wiki/Silverlight

3、browserplus: http://developer.yahoo.com/browserplus/

注意:1、分块:chrome和firefox 4+ 支持。

2、拖拽适用于firefox和webkit内核的浏览器,windows版的safari还存在一些问题待解决。

3、图片缩放仅在firefox3.5+和chrome上支持,safari/opera 不支持直接数据访问选定的文件。

4、目前所有的浏览器不支持文件类型过滤。但是,我们填写HTML5的接受文件类型过滤属性,一旦有支持它会工作。

5、 多文件上传仅支持gecko和webkit内核的浏览器。

借鉴:http://www.boyunjian.com/v/softd/Plupload.html

爱卡(深圳)管理有限公司

分享每一刻精彩

微信:iCafeYOJOY

微博:http://weibo.com/iCafeYOJOY

官网:www.icafe.im

jquery上传图片插件plupload的更多相关文章

  1. 如何写一个Js上传图片插件。

    项目里面需要一个上传图片的插件,找了半天没有找到满意的,算了 不找了,自己写一个吧,顺便复习一下js方面的知识.完成之后效果还不错,当然还要继续优化,源码在最后. 介绍一种常见的js插件的写法 ; ( ...

  2. jquery 上传图片转为base64,ajax提交到后台

    支持多张图片上传.图片上传数量修改.可以删除 <!DOCTYPE html> <html> <head> <meta charset="utf-8& ...

  3. 深入学习jQuery自定义插件

    原文地址:jQuery自定义插件学习 1.定义插件的方法 对象级别的插件扩展,即为jQuery类的实例增加方法, 调用:$(选择器).函数名(参数);      $(‘#id’).myPlugin(o ...

  4. [jQuery]jQuery DataTables插件自定义Ajax分页实现

    前言 昨天在博客园的博问上帮一位园友解决了一个问题,我觉得有必要记录一下,万一有人也遇上了呢. 问题描述 园友是做前端的,产品经理要求他使用jQuery DataTables插件显示一个列表,要实现分 ...

  5. 使用jQuery.form插件,实现完美的表单异步提交

    传送门:异步编程系列目录…… 时间真快,转眼一个月快结束了,一个月没写博客了!手开始生了,怎么开始呢…… 示例下载:使用jQuery.form插件,实现完美的表单异步提交.rar 月份的尾巴,今天的主 ...

  6. 为jQuery写插件

    很多场合,我们都会调用jQuery的插件去完成某个功能,比如slider. 如下图,做一个div,通过“$( "#slider" ).slider();”的方式直接将div变成sl ...

  7. bootstrap-简洁实用的jQuery手风琴插件

    前端 <html lang="zh"> <head> <meta charset="UTF-8"> <meta htt ...

  8. 推荐15款响应式的 jQuery Lightbox 插件

    利用现代 Web 技术,网络变得越来越轻巧与.模态框是突出展现内容的重要形式,能够让用户聚焦到重要的内容上去.在这个列表中,我们编制了15款响应式的 jQuery 灯箱库,这将有助于开发人员创建和设计 ...

  9. Chocolat.js – 响应式的 jQuery Lightbox 插件

    Chocolat.js 使您能够显示一个或多个图像在同一页面上.给用户展示一组图片缩略图,可以显示全页或块.Chocolat.js 可以很好地处理所有主要的浏览器.它在下面这些浏览器测试通过:IE7+ ...

随机推荐

  1. html__脚本之家

    深入剖析Android的Volley库中的图片加载功能 Android图片加载缓存框架Glide Android程序开发ListView+Json+异步网络图片加载+滚动翻页的例子(图片能缓存,图片不 ...

  2. ImageLoader介绍2

    Universal Image Loader 是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示.所以,如果你的程序里需要这个功能的话,那么不妨试试它.他本来是 ...

  3. SQL Error (1130): Host '192.168.1.126' is not allowed to connect to this MySQL server

    通过HeidiSQL连接MYSQL数据库报错: SQL Error (1130): Host '192.168.1.126' is not allowed to connect to this MyS ...

  4. POJ解题经验交流

    感谢范意凯.陈申奥.庞可.杭业晟.王飞飏.周俊豪.沈逸轩等同学的收集整理.   题号:1003 Hangover求1/2+1/3+...1/n的和,问需多少项的和能超过给定的值 类似于Zerojudg ...

  5. 第四周psp

    10号 类别c 内容c 开始时间s 结束e 中断I 净时间T GUI 查资料 12:10 12:40 0m 30m GUI 安装QT 19:10 21:00 20m 90m GUI 学习QT 23:0 ...

  6. JNI环境搭建,CDT, cygwin,NDK

    1.为eclipse增加c和c++的开发插件 下载地址:http://www.eclipse.org/cdt/downloads.php 2,安装cygwin Ndk需要运行在linux环境下,cyg ...

  7. Symfony2 资料篇

    http://www.chrisyue.com/symfony2-in-action-day-1.html 由于Symfony2现在还没有很完善的中文文档,所以不想看文档的同学可以直接进行点击上面的链 ...

  8. winform画图闪烁问题

    问题:在winform程序的onpaint方法中画图, 连续画, 如鼠标移动时就要不断画图, 会闪烁. 解决方法:将要画图的部分放到一个自定义控件中, 自定义控件的onpaint方法里面画图, 然后再 ...

  9. 【MySQL】MySQL无基础学习和入门大纲

    一.安装 1.yum安装 2.分发包安装 3.配置文件 4.初始化数据库 二.启动 1.service mysqld start默认配置启动 2.mysqld_safe方式加载配置文件启动 3.mys ...

  10. 自动生成form Scripts

    运行脚本: begin xxx_plsql_generator_pkg2.form_view_iud_p(p_block_name =>'CONTRACT_T' ,p_table_name =& ...