使用webuploader插件上传图片时如果正确 限制上传数量

// 初始化Web Uploader
uploader = WebUploader.create({
// 自动上传。
auto: true,
// swf文件路径
swf: '__PUBLIC__/Home/swf/Uploader.swf',
// 文件接收服务端。
server: '{#:U('Feedback/uploadimg')#}',
// 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: '#filePicker',
//[可选] [默认值:undefined] 验证文件总数量, 超出则不允许加入队列。
fileNumLimit: 2,
//[可选] [默认值:undefined] 验证单个文件大小是否超出限制, 超出则不允许加入队列。
fileSingleSizeLimit: 1024*512,
// 只允许选择文件,可选。
accept: {
title: 'Images',
extensions: 'gif,jpg,jpeg,bmp,png',
mimeTypes: 'image/*'
}
});

uploader.on('error', function(handler) {

if(handler=="Q_EXCEED_NUM_LIMIT"){
alert("超出最大张数");
}
if(handler=="F_DUPLICATE"){
alert("文件重复");
}
});

一次选择多张图片时可以正确弹出提示。
但每次选择一张时却无法弹出提示。

你要理解fileNumLimit的含义。fileNumLimit=总文件数-已经上传的文件数。这就意味着你fileNumLimit设置为5的话,一次上传6张是不行的,但是每次上传1张,就能突破5张的限制。原因是插件在上传完一个文件后,会把计数清零。你可以参考修改下面的代码:

           uploader.on( 'fileQueued', function() {
                count++;
            });
    
            uploader.on( 'fileDequeued', function() {
                count--;
            });
    
            uploader.on( 'uploadFinished', function() {
                //注销这段代码就可以了 count = 0;
            });

上面的代码位于webuploader.js的L3809

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-18
fileNumLimit: 5, //upload.js 里面的 fileNumLimit 可以限制
第2个回答  2014-07-21
肯定是哪里出问题了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网