在精细上传器中,文件上传验证在每个文件的基础上进行。我想验证整批选定的文件。假设我选择了 10 个文件,整个批次的大小为 10mb,并且我的最大上传限制为 5mb。
有什么方法可以选择苍蝇的总大小。我想在 Html5 兼容浏览器以及 Html4 浏览器(即 IE)中执行此操作。
在精细上传器中,文件上传验证在每个文件的基础上进行。我想验证整批选定的文件。假设我选择了 10 个文件,整个批次的大小为 10mb,并且我的最大上传限制为 5mb。
有什么方法可以选择苍蝇的总大小。我想在 Html5 兼容浏览器以及 Html4 浏览器(即 IE)中执行此操作。
首先,在 IE9 或更早版本中无法执行此操作,因为需要文件 API 支持(并且在 IE9 或更早版本中不存在)。如果没有文件 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 浏览器中不起作用)。