【问题标题】:How to limit Total files size in PLUpload如何限制 PLUpload 中的总文件大小
【发布时间】:2020-07-21 02:21:52
【问题描述】:

我正在使用 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) 的解决方案

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

【问题讨论】:

    标签: plupload


    【解决方案1】:

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

    在我们选择每个文件后调用“Selected”事件,我们可以在其中进行验证。

    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");
          }
    }
    

    【讨论】: