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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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

参考技术A fileNumLimit: 5, //upload.js 里面的 fileNumLimit 可以限制 参考技术B 肯定是哪里出问题了

以上是关于使用webuploader插件上传图片时如果正确 限制上传数量的主要内容,如果未能解决你的问题,请参考以下文章

WebUploader文件图片上传插件的使用

WebUploader文件图片上传插件的使用

百度图片上传插件webuploader

vue移动端图片上传,可最多上传9张,使用webuploader插件

百度上传工具webuploader,图片上传附加参数

JSP+SpringMVC框架使用WebUploader插件实现注册时候头像图片的异步上传功能