jQuery上传插件webupload使用方法


Posted in jQuery onAugust 01, 2017

WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用原来的FLASH运行时,兼容IE6+,iOS 6+, android 4+。两套运行时,同样的调用方式,可供用户任意选用。采用大文件分片并发上传,极大的提高了文件上传效率。

这个插件很好用,功能也比较强大,比ajaxfileupload要强大,可去官方网站下载。

目前项目中只用到了图片批量上传功能,官方示例已经写的很详细了,下面介绍下如何把官方示例迁移到自己的项目中:

// 实例化
 uploader = WebUploader.create({
  pick: {
  id: '#filePicker',
  label: '点击选择图片'
  },
  formData: {
  uid: 123
  },
  dnd: '#dndArea',
  paste: '#uploader',
  swf: '../../dist/Uploader.swf',
  chunked: false,
  chunkSize: 512 * 1024,
  server: '../../server/fileupload.php',
  // runtimeOrder: 'flash',

  // accept: {
  // title: 'Images',
  // extensions: 'gif,jpg,jpeg,bmp,png',
  // mimeTypes: 'image/*'
  // },

  // 禁掉全局的拖拽功能。这样不会出现图片拖进页面的时候,把图片打开。
  disableGlobalDnd: true,
  fileNumLimit: 300,
  fileSizeLimit: 200 * 1024 * 1024, // 200 M
  fileSingleSizeLimit: 50 * 1024 * 1024 // 50 M
 });

1、server  修改为自己的后台处理类 通过 HttpFileCollection files = System.Web.HttpContext.Current.Request.Files; request.Files的方式获取插件上传的图片。

2、示例程序默认是启用压缩的,这个可以设置,当图片大于多少是可以自动压缩图片的,如果不需要压缩,则需要再初始化的时候添加 compress:false, 属性

3、

accept: {
  title: 'Images',
  extensions: 'gif,jpg,jpeg,bmp,png',
  mimeTypes: 'image/*'
  },

官方上传图片的示例不知道什么原因把图片筛选这个注释掉了,如果想上传的文件只能选择图片,则需要去掉注释

4、增加了对图片像素大小的判断,自己用了uploadAccept 方法,是把图片提交上去了之后再后台进行判断的,(不知是否有更好的办法)因为插件本身的file类是可以处理文件的,所以并没有单独获取像素的属性,示例:

uploader.on('uploadAccept', function (object, ret) {
 
  var resJson = $.parseJSON(ret._raw);
  if (resJson.result == "error") {
   alert(object.file.name + "象素太低,请检查上传!");
   return false;
  }
 
  });

该方法返回false的时候,会导致图片上传失败,所以后台判断像素后通过后台返回的状态来改变图片上传的状态。

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
Aug 17 jQuery
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
Aug 18 jQuery
jQuery实现IE输入框完成placeholder标签功能的方法
Sep 20 jQuery
jQuery EasyUI开发技巧总结
Sep 26 jQuery
jQuery实现的鼠标滚轮控制图片缩放功能实例
Oct 14 jQuery
Vue中正确使用jQuery的方法
Oct 30 jQuery
jQuery 实现左右两侧菜单添加、移除功能
Jan 02 jQuery
jquery.pagination.js分页使用教程
Oct 23 jQuery
jquery获取img的src值实例介绍
Jan 16 jQuery
jQuery each和js forEach用法比较
Feb 27 jQuery
jquery实现上传文件进度条
Mar 26 jQuery
JS JQuery获取data-*属性值方法解析
Sep 01 jQuery
关于jquery form表单序列化的注意事项详解
Aug 01 #jQuery
简述jQuery Easyui一些用法
Aug 01 #jQuery
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
Aug 01 #jQuery
jquery easyui如何实现格式化列
Jul 30 #jQuery
jQuery dateRangePicker插件使用方法详解
Jul 28 #jQuery
jQuery获取table表中的td标签(实例讲解)
Jul 28 #jQuery
vue单页应用中如何使用jquery的方法示例
Jul 27 #jQuery
You might like
php安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
php封装单文件上传到数据库(路径)
2017/10/15 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
javascript 有用的脚本函数
2009/05/07 Javascript
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
几个比较实用的JavaScript 测试及效验工具
2010/04/18 Javascript
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
2011/06/28 Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
让网页跳转到指定位置的jquery代码非书签
2013/09/06 Javascript
禁止拷贝网页内容的js代码
2014/01/22 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
javascript实现左右控制无缝滚动
2014/12/31 Javascript
jQuery中slice()方法用法实例
2015/01/07 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
2016/05/20 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
2018/08/16 Javascript
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
python操作yaml说明
2020/04/08 Python
Matlab使用Plot函数实现数据动态显示方法总结
2021/02/25 Python
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)
2014/05/07 HTML / CSS
耐克巴西官方网站:Nike巴西
2016/08/14 全球购物
中东地区为妈妈们提供一切的头号购物目的地:Sprii
2018/05/06 全球购物
为什么使用接口?
2014/08/13 面试题
春季运动会广播稿大全
2014/02/19 职场文书
产品售后服务承诺书
2014/05/21 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL
vue如何清除浏览器历史栈
2022/05/25 Vue.js