上传文件插件(plupload)

摘要:
简介插件:/**上载文件配置**///配置uploadervaruploader=newupload.Uploader({runtimes:'html5,flash,silverlight,html4',browse_button:'Upload

引入插件:

<script src="http://t.zoukankan.com/static/js/plupload.full.min.js"></script>
/** 上传文件配置
     * */
    //配置uploader
    var uploader = newplupload.Uploader({
        runtimes: 'html5,flash,silverlight,html4',
        browse_button : 'uploader',
        url:'/delivery/batchSendByFile',
        flash_swf_url : '../Moxie.swf',
        silverlight_xap_url : '../Moxie.xap',
        multi_selection:false,
        filters: {
            mime_types : [ //只允许上传xls和xlsx文件
                { title : "xls files", extensions : "xls"},
                { title : "xlsx files", extensions : "xlsx"}
            ]
        },
        preinit: {
            UploadFile: function(up) {
                up.setOption('url', '/delivery/batchSendByFile');
            }
        }
    });
    uploader.bind('Error', function(uploader, errObject) {
        var message = '';
        //解除锁定
        layer.closeAll('loading');
        if (errObject.code === -600) {
            message = '上传的文件太大';
        } else if (errObject.code === -200) {
            message = '由于网络原因,文件没有上传成功';
        } else if (errObject.code === -601) {
            message = '选择的文件类型不是xls或xlsx类型';
        }
        layer.msg('上传失败,错误原因:' + message,{end:function(){
            layer.closeAll();
        }});
    });
    //选中文件触发
    uploader.bind('FilesAdded', function(uploader,files) {
        var tipElement = $('#uploadBox').find('.J_side');
        controller.uploadFlag = true;
        for(var i = 0, len = files.length; i<len; i++){
            tipElement.text(files[i].name).css('color','#e62e3a');
        }
    });
    //文件上传后触发
    uploader.bind('FileUploaded',function(uploader,file,responseObject){
        var msg =JSON.parse(responseObject.response),num;
        //解除锁定
layer.closeAll();
        /** @namespace msg.failureNum */
        /** @namespace msg.successNum */num = msg.successNum +msg.failureNum;
        /** @namespace data.activityerror*/
        if(msg.activityerror){
            layer.msg(msg.activityerror);
        }else if(msg.issuccess*1 === 3){
            layer.msg('全部上传失败!');
        }else /** @namespace msg.issuccess */
        if(msg.issuccess*1 === 2){
            layer.msg('上传' + num + '条纪录,成功' + msg.successNum + '条,失败' + msg.failureNum + '条',{end:function(){
                window.location.reload();
            }});
        }else if (msg.issuccess*1 === 1){
            layer.msg('全部上传成功',{end:function(){
                window.location.reload();
            }});
        }
    });

免责声明:文章转载自《上传文件插件(plupload)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Sublime Text 3 插件安装及Vim 模式设置Gradle 源配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

jQuery 1.7的隐藏改动

jQuery1.7在事件上做了改动,将事件绑定统一为on和off了,对以前的绑定方式继续支持. 但是在文档中没有提到的改动有以下两个: 就是jQuery的die和undelegate方法,原来在取消命名空间绑定的时候不需要前面加点,但是在1.7中是需要前面加点。如下: 1.7以前 $(".selector").die("namespace"); $(".s...

前端本地缓存:封装localStorage支持设置过期时间、命名空间 吴小明

- 当选中项目后,每隔5秒缓存一次当前页面所填内容 - 缓存至localStorage中,过期时间为7日,到期后自动删除当前项目的缓存,namespace为【visitPlanList】 - 中途退出软件时,下次进入新增页,选中之前的项目,会回显对应的内容 - 如果手动点击【放弃】按钮,并确认退出,那么会根据当前选中的项目id,删除对应的缓存 - 新增提...

.net core使用Apollo做统一配置管理

做开发这么多年,经常因配置的问题引发生产环境的bug。有些年久的项目,几百个密密麻麻的配置项,经常容易搞混,有时好几个项目有好多同样的配置项,配置工作也不厌其烦。所幸,携程开源了新一代配置中心 - Apollo项目,最近在项目中使用了一段时间,感觉确实方便不少。 首先本地搭建Apollo,请参照官网资料https://github.com/ctripcor...

docker创建一个容器

而容器技术的核心功能,就是通过约束和修改进程的动态表现,从而为其创造出一个“边界”。 对于 Docker 等大多数 Linux 容器来说,Cgroups 技术是用来制造约束的主要手段,而 Namespace 技术则是用来修改进程视图的主要方法。 你可能会觉得 Cgroups 和 Namespace 这两个概念很抽象, 别担心,接下来我们一起动手实践一下,你...

Java中针对Yaml格式数据操作记录

写在前面 最近由于涉及的功能需要对Nacos配置信息通过代码实现发布,在此过程中,涉及到String字符串转换Map,Map转换为Yaml格式的字符串等方法,由于之前没有接触过此方面内容,所以特在此进行记录,以做备忘! 1、Nacos获取配置 Nacos获取配置信息,返回结果为String格式字符串,这里可以参看Nacos中文文档(地址为:https://...

Kubernetes监控etcd集群(自带metrics接口)

Kubernetes用operator部署prometheus上面采用Kubernetes部署prometheus 我们可以使用prometheus来监控自带metrics接口的应用。 etcd是Kubernetes的数据库,自带接口,我们可以用etcd作为实例来看看怎么操作。 一、监控etcd集群 1.1、查看接口信息 二进制和kubeadm安装方式...