1
그래서이 문제에 대한 해결책을 찾기 위해 몇 시간 동안 웹을 보았습니다. Plupload가 여러 대기열을 허용하는 방법을 알려줄 수 있습니까? 동시에 사용자가 업로드 할 수있는 파일 수를 제한합니까?여러 개의 큐를 대기열에 올려 놓고 업로드 한 파일의 수를 제한했습니다.
그래서이 문제에 대한 해결책을 찾기 위해 몇 시간 동안 웹을 보았습니다. Plupload가 여러 대기열을 허용하는 방법을 알려줄 수 있습니까? 동시에 사용자가 업로드 할 수있는 파일 수를 제한합니까?여러 개의 큐를 대기열에 올려 놓고 업로드 한 파일의 수를 제한했습니다.
전 세계적으로 각 큐에 FilesAdded 이벤트를 모니터링 할 사용자 정의 이벤트를 통해, 별도의 객체를 사용할 수있다 :
<div id="container1"></div>
<div id="container2"></div>
그것을 두 div의 5 개 파일의 글로벌 한계로, 예를 들어
다음 스크립트로 이어질 것입니다 : 당신은 또한 처리해야 할 수 있습니다
<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>
참고이 (가) monitori 파괴 업 로더의 등록을 취소하기 위해 업 로더에 이벤트를 파괴 개체 :