• Jquery插件(一) webupload上传插件


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

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

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

     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         });

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

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

    3、

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

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

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

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

  • 相关阅读:
    深入了解CSS3新特性(转)
    微小,但是美好的改变 G2 2.2发布
    可视化框架设计-数据调整
    可视化框架设计-图表类型
    可视化框架设计-数据流
    人之初,性本动
    可视化框架设计-坐标系
    可视化框架设计-视觉通道
    可视化框架设计-数据类型
    可视化框架设计-整体思路
  • 原文地址:https://www.cnblogs.com/coderwar/p/7267101.html
Copyright © 2020-2023  润新知