整批选定文件的文件上载验证

File upload validation of the whole batch of selected file

本文关键字:文件 验证 上载      更新时间:2023-09-26

在fine uploader中,文件上传验证在每个文件的基础上进行。我想验证整批选定的文件。假设我已经选择了10个文件,整个批次的大小是10mb,并且我的上传限制最大为5mb。

有没有什么方法可以选择苍蝇的总大小。我想在Html5兼容的浏览器和Html4浏览器中做这件事,比如ie.

首先,在IE9或更高版本中无法做到这一点,因为需要文件API支持(IE9或更低版本中不存在)。如果没有File API支持,就绝对无法确定客户端的文件大小。

也就是说,我可以在所有其他浏览器中为您提供解决方案。关键是使用onValidateBatch回调。例如:

var maxAllowedBatchSize = 5000000;
$('#uploadContainer').fineUploader({
    request: {
        endpoint: '/my/endpoint'
    }
)}
    .on('validateBatch', function(event, fileOrBlobDataArray) {
        var totalSize = 0;
        $.each(fileOrBlobDataArray, function(idx, fileOrBlobData) {
            totalSize += fileOrBlobData.size;
        });
        // Tell Fine Uploader to ignore the entire batch of files
        // if the batch exceeds the total size limit.
        if (totalSize > maxAllowedBatchSize) {
            return false;     
        } 
    });

您还希望包括服务器端验证,因为这样的客户端检查可以由用户操作(在非文件API浏览器中不起作用)。