gpt4 book ai didi

javascript - plupload 多个队列且上传文件数量受限

转载 作者:行者123 更新时间:2023-11-28 01:49:30 25 4
gpt4 key购买 nike

所以,我花了几个小时在网上寻找这个问题的解决方案,我尝试了很多不起作用的方法。谁能告诉我如何允许 Plupload 接受多个队列,同时限制用户可以上传的文件数量?

最佳答案

您可以通过自定义事件使用单独的对象来全局监视每个队列中的 FilesAdded 事件:

例如,有两个 div 且全局限制为 5 个文件:

<div id="container1"></div>
<div id="container2"></div>

这将导致以下脚本:

<script language="javascript">
$(document).ready
(
function(){
// monitoring object
var uploadersMonitor =
{
uploaders : [], // uploader objects will be store in this array
maxFiles : 5, // no more than 5 files globally
registerUploader : function (upldr){
if(uploadersMonitor.uploaders.indexOf(upldr)==-1){
uploadersMonitor.uploaders.push(upldr);
}
},
computeTotalFilesNumber : function(){
var sum=0;
for(var i = 0; i<uploadersMonitor.uploaders.length; i++){
sum+=uploadersMonitor.uploaders[i].files.length;
}
return sum;
},
processFilesAdded : function(upldr){
var total = uploadersMonitor.computeTotalFilesNumber();
if(total> uploadersMonitor.maxFiles)
{
alert('No more than '+uploadersMonitor.maxFiles+'total')
// remove excess files
upldr.splice(upldr.files.length-(total-uploadersMonitor.maxFiles));
}
}
}

$(document).on("uploaderFilesAdded",
function(e,upldr){
uploadersMonitor.registerUploader(upldr);
uploadersMonitor.processFilesAdded(upldr);
}
);

function initUploader(item){
$(item).pluploadQueue({
runtimes: 'html5,flash,gears,silverlight,browserplus',
url: '/upload.php',
max_file_size: '10mb',
init: {
FilesAdded : function (upldr,files){
$(document).trigger("uploaderFilesAdded",upldr);
}
}
});
};

initUploader($('#container1'));
initUploader($('#container2'));
});
</script>

请注意,您可能还需要处理 uploader 上的 Destroy 事件,以在监控对象中取消注册已销毁的 uploader

关于javascript - plupload 多个队列且上传文件数量受限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19882519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com