jQuery上传插件webupload使用方法
WebUploader是由BaiduWebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用原来的FLASH运行时,兼容IE6+,iOS6+,android4+。两套运行时,同样的调用方式,可供用户任意选用。采用大文件分片并发上传,极大的提高了文件上传效率。
这个插件很好用,功能也比较强大,比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,//200M
fileSingleSizeLimit:50*1024*1024//50M
});
1、server 修改为自己的后台处理类通过HttpFileCollectionfiles=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){
varresJson=$.parseJSON(ret._raw);
if(resJson.result=="error"){
alert(object.file.name+"象素太低,请检查上传!");
returnfalse;
}
});
该方法返回false的时候,会导致图片上传失败,所以后台判断像素后通过后台返回的状态来改变图片上传的状态。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。