欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery上传插件webupload使用方法

程序员文章站 2022-11-26 14:07:00
webuploader是由baidu webfe(fex)团队开发的一个简单的以html5为主,flash为辅的现代文件上传组件。在现代的浏览器里面能充分发挥html5的优...

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的时候,会导致图片上传失败,所以后台判断像素后通过后台返回的状态来改变图片上传的状态。

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