如何限制 PLUpload 中的总文件大小

How to limit Total files size in PLUpload

我正在使用 PLUpload UI Widget,下面是代码

$(function() {
    $("#uploader").plupload({
        runtimes : 'html5,flash,silverlight,html4',
        url : "/examples/upload",
        max_file_size : '20mb', 
        chunk_size: '1mb',
 
        resize : {
            width : 200,
            height : 200,
            quality : 90,
            crop: true // crop to exact dimensions
        },
 
        filters : [
            {title : "Image files", extensions : "jpg,gif,png"}
        ],
 
        rename: true,       
        sortable: true,
        dragdrop: true,
        views: {
            list: true,
            thumbs: true, // Show thumbs
            active: 'thumbs'
        },
       flash_swf_url : '/plupload/js/Moxie.swf',   
        silverlight_xap_url : '/plupload/js/Moxie.xap'
    });
});

我想允许用户上传不能超过 18mb 的文件。所以现在如果有人选择一个大于 15mb 或小于 18mb 的文件,这段代码就可以正常工作,但是当用户选择 2 个 15mb-4mb 的文件时,总大小为 19mb,这不会显示任何错误。

我看到 QueueWidget(plqueueupload) 的解决方案很少,但没有找到 UIWidget (plupload)

的任何解决方案

有内置选项可以限制单个文件的大小以及文件的数量。我们如何限制所有文件的大小?

我在阅读 PUUpload 文档后找到了答案,添加这个只是为了帮助其他人寻找这个。

“已选择”事件在我们 select 每个文件之后调用,我们可以在其中验证。

selected: function(uploader, files) {
    if(files.files.length > 0) {
       for(var i=0;i<files.files.length;i++) {
           maxsize += files.files[i].size;
       }
       if(maxsize > 18874368) {
          //add your logic to show error message
          $("#fileUploader").plupload("notify", "error", "Files size exceeded 18MB");
      }
}