Jquery插件(一) webupload上传插件

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

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

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

 1    // 实例化
 2         uploader = WebUploader.create({
 3             pick: {
 4                 id: '#filePicker',
 5                 label: '点击选择图片'
 6             },
 7             formData: {
 8                 uid: 123
 9             },
10             dnd: '#dndArea',
11             paste: '#uploader',
12             swf: '../../dist/Uploader.swf',
13             chunked: false,
14             chunkSize: 512 * 1024,
15             server: '../../server/fileupload.php',
16             // runtimeOrder: 'flash',
17 
18             // accept: {
19             //     title: 'Images',
20             //     extensions: 'gif,jpg,jpeg,bmp,png',
21             //     mimeTypes: 'image/*'
22             // },
23 
24             // 禁掉全局的拖拽功能。这样不会出现图片拖进页面的时候,把图片打开。
25             disableGlobalDnd: true,
26             fileNumLimit: 300,
27             fileSizeLimit: 200 * 1024 * 1024,    // 200 M
28             fileSingleSizeLimit: 50 * 1024 * 1024    // 50 M
29         });

一、server  修改成本身的后台处理类 经过 HttpFileCollection files = System.Web.HttpContext.Current.Request.Files; request.Files的方式获取插件上传的图片。ajax

二、示例程序默认是启用压缩的,这个能够设置,当图片大于多少是能够自动压缩图片的,若是不须要压缩,则须要再初始化的时候添加 compress:false, 属性浏览器

三、并发

1  accept: {
2               title: 'Images',
3               extensions: 'gif,jpg,jpeg,bmp,png',
4                mimeTypes: 'image/*'
5             },

官方上传图片的示例不知道什么缘由把图片筛选这个注释掉了,若是想上传的文件只能选择图片,则须要去掉注释网站

四、增长了对图片像素大小的判断,本身用了uploadAccept 方法,是把图片提交上去了以后再后台进行判断的,(不知是否有更好的办法)由于插件自己的file类是能够处理文件的,因此并无单独获取像素的属性,示例:ui

 1   uploader.on('uploadAccept', function (object, ret) {
 2 
 3             var resJson = $.parseJSON(ret._raw);
 4             if (resJson.result == "error") {
 5                 alert(object.file.name + "象素过低,请检查上传!");
 6                 return false;
 7             }
 8 
 9 
10         });

该方法返回false的时候,会致使图片上传失败,因此后台判断像素后经过后台返回的状态来改变图片上传的状态。spa

相关文章
相关标签/搜索