jQuery Plupload上传插件的使用


Posted in jQuery onApril 19, 2017

jQuery Plupload上传插件的使用 首先下载plupload->http://www.plupload.com

因为Plupload可配置参数比较多,所以这里讲解最常用的,结合jquery-ui展示的界面!如下:

jQuery Plupload上传插件的使用

Plupload默认支持html5,flash,silverlight,html4,四种上传方式,按照顺序进行加载,如果浏览器不支持html5则会选择flash...到最后html4,

如果不需要某种上传方式,在配置里面不写即可!

 直接上代码

<body>
  <div id="uploader">
    <p>Your browser doesn't have Flash, Silverlight or HTML5 support.</p>
  </div>
  <script type="text/javascript">
  $(function(){
    $("#uploader").plupload({
      runtimes: 'html5,flash,silverlight,html4',//这里可以不写,plupload默认支持
      url: "UploadPhotoServlet",//上传后台请求路径
      max_file_size: '1000mb',//用来限制单个文件大小的
      multi_selection: true,//默认支持多文件上传,false不支持
      chunk_size: '0',//是否将上传文件进行分片,0代表是不分
      /*resize配置是对图片的处理
        可以使用该参数对将要上传的图片进行压缩,该参数是一个对象,里面包括5个属性:width:指定压缩后图片的宽度,如果没有设置该属性则默认为原始图片的宽度
        height:指定压缩后图片的高度,如果没有设置该属性则默认为原始图片的高度
        crop:是否裁剪图片
        quality:压缩后图片的质量,只对jpg格式的图片有效,默认为90。quality可以跟width和height一起使用,但也可以单独使用,单独使用时,压缩后图片的宽高不会变化,但由于质量降低了,所以体积也会变小
        preserve_headers:压缩后是否保留图片的元数据,true为保留,false为不保留,默认为true。删除图片的元数据能使图片的体积减小一点点
        resize参数的配置示例如下:
      */
      /* resize : {
        width: 200,
        height: 200,
        quality: 90,
        crop: true
      }, */
      /* rename: true, *///允许多队列文件进行重命名
      /* sortable: true,*/ //启用队列中的文件排序功能,更改上传优先级
      /*dragdrop: true, */ //开启拖拽上传,默认true
      /*
        下面是展示右边的缩略图和列表 两个功能
        默认显示缩略图
      */
      views: {
        list: true,
        thumbs: true, // Show thumbs
        active: 'thumbs'
      },
      /*
        flash 和 xap 上传需要的文件
      */
      flash_swf_url : 'plupload/js/Moxie.swf',
      silverlight_xap_url : 'plupload/js/Moxie.xap'
    });
  })
</script>
</body>

在官方文档有这样一句话

jQuery Plupload上传插件的使用

 也就是说,UI.Plupload 需要jquery-ui的支持,http://jqueryui.com/download/ 选择合适的主题,我选的是这个

jQuery Plupload上传插件的使用

完整的 引入文件是

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <script type="text/javascript" src="plupload/js/jquery.js"></script>
  <script type="text/javascript" src="plupload/js/jqueryui/jquery-ui.min.js"></script>
  <link rel="stylesheet" href="plupload/js/jqueryui/jquery-ui.min.css" rel="external nofollow" />
  <script type="text/javascript" src="plupload/js/plupload.full.min.js"></script>
  <script type="text/javascript" src="plupload/js/jquery.ui.plupload/jquery.ui.plupload.min.js"></script>
  <script type="text/javascript" src="plupload/js/i18n/zh_CN.js"></script>
  <link rel="stylesheet" type="text/css" href="plupload/js/jquery.ui.plupload/css/jquery.ui.plupload.css" rel="external nofollow" />
  <title>plupload</title>
</head>

jQuery Plupload上传插件的使用

常见问题:

1、如果你发现点击 选择文件 按钮,弹出文件框特别慢,那么将,过滤文件代码去掉即可!根据具体情况,自己设置

filters: {
mime_types : [ //只允许上传图片和zip文件
{ title : "Image files", extensions : "jpg,gif,png" },
{ title : "Zip files", extensions : "zip" }
],
max_file_size : '400kb', //最大只能上传400kb的文件
prevent_duplicates : true //不允许选取重复文件
}

可以使用该参数来限制上传文件的类型,大小等,该参数以对象的形式传入,它包括三个属性:mime_types:用来限定上传文件的类型,为一个数组,该数组的每个元素又是一个对象,该对象有title和extensions两个属性,title为该过滤器的名称,extensions为文件扩展名,有多个时用逗号隔开。该属性默认为一个空数组,即不做限制。

max_file_size:用来限定上传文件的大小,如果文件体积超过了该值,则不能被选取。值可以为一个数字,单位为b,也可以是一个字符串,由数字和单位组成,如'200kb'

prevent_duplicates:是否允许选取重复的文件,为true时表示不允许,为false时表示允许,默认为false。如果两个文件的文件名和大小都相同,则会被认为是重复的文件

2、如果后台使用是的是文件域名称接收文件,并且附加有额外参数

jQuery Plupload上传插件的使用

需要额外设置两个参数

file_data_name:"uploadFile",//指定文件上传时文件域的名称,默认为file,例如在php中你可以使用$_FILES['file']来获取上传的文件信息
/* resize : {
  width: 200,
  height: 200,
  quality: 90,
  crop: true // crop to exact dimensions
}, */
multipart_params:{//上传时的附加参数,以键/值对的形式传入,服务器端可是使用$_POST来获取这些参数(以php为例)
 "prefixName":"magazine"
},

3、在和easyui,extjs等UI库进行整合时候,引入Plupload的文件一定要在easyui的引入文件之前,否则easyui会出现一些莫名奇妙的错误!

ok,到这里基本完成Plupload的使用,plupload中文参考文档 http://www.phpin.net/tools/plupload/,

这个文档仅仅介绍了Plupload基本的options,一些UI高级用法需要参考,

http://www.plupload.com/docs/v2/UI.Plupload#Constructor-method

以上所述是小编给大家介绍的jQuery Plupload上传插件的使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
jQuery实现Select下拉列表进行状态选择功能
Mar 30 jQuery
jquery网页加载进度条的实现
Jun 01 jQuery
jquery请求servlet实现ajax异步请求的示例
Jun 03 jQuery
jQuery为某个div加入行样式
Jun 09 jQuery
jquery鼠标悬停导航下划线滑出效果
Sep 29 jQuery
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
Mar 28 jQuery
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
Aug 09 jQuery
jQuery实现左右两个列表框的内容相互移动功能示例
Jan 27 jQuery
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
Jul 03 jQuery
jQuery实现轮播图效果
Nov 26 jQuery
jquery简易手风琴插件的封装
Oct 13 jQuery
jQuery实现简单轮播图效果
Dec 27 jQuery
jQuery ajax请求struts action实现异步刷新
Apr 19 #jQuery
jQuery加密密码到cookie的实现代码
Apr 18 #jQuery
Jquery-data的三种用法
Apr 18 #jQuery
JS与jQuery实现子窗口获取父窗口元素值的方法
Apr 17 #jQuery
jQuery实现动态生成表格并为行绑定单击变色动作的方法
Apr 17 #jQuery
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
Apr 14 #jQuery
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
Apr 13 #jQuery
You might like
php图片缩放实现方法
2014/02/20 PHP
PHP中is_file不能替代file_exists的理由
2014/03/04 PHP
拖拉表格的JS函数
2008/11/20 Javascript
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
Javascript的构造函数和constructor属性
2010/01/09 Javascript
利用jquery操作select下拉列表框的代码
2010/06/04 Javascript
js页面跳转常用的几种方式
2010/11/25 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
超级好用的jQuery圆角插件 Corner速成
2014/08/31 Javascript
详解JS函数重载
2014/12/04 Javascript
javascript实现可全选、反选及删除表格的方法
2015/05/15 Javascript
JS实现生成会变大变小的圆环实例
2015/08/05 Javascript
vue父组件中获取子组件中的数据(实例讲解)
2017/09/27 Javascript
详解基于Vue-cli搭建的项目如何和后台交互
2018/06/29 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
Vue 使用formData方式向后台发送数据的实现
2019/04/14 Javascript
vue实现信息管理系统
2020/05/30 Javascript
[05:35]DOTA2英雄梦之声_第13期_拉比克
2014/06/21 DOTA
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
在RedHat系Linux上部署Python的Celery框架的教程
2015/04/07 Python
Python函数式编程指南(二):从函数开始
2015/06/24 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
Django实现发送邮件找回密码功能
2019/08/12 Python
python3下pygame如何实现显示中文
2020/01/11 Python
tensorflow指定GPU与动态分配GPU memory设置
2020/02/03 Python
门卫岗位安全职责
2013/12/13 职场文书
社区包粽子活动方案
2014/01/21 职场文书
感恩母亲节活动方案
2014/03/04 职场文书
一年级学生评语
2014/04/23 职场文书
安全生产演讲稿
2014/05/09 职场文书
幼儿园见习总结
2015/06/23 职场文书
职工培训工作总结
2015/08/10 职场文书
go类型转换及与C的类型转换方式
2021/05/05 Golang
如何在Python项目中引入日志
2021/05/31 Python
MySQL中in和exists区别详解
2021/06/03 MySQL
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏