我正在尝试放置2个不同的过滤器,一个是文件类型,另一个是文件的大小。目前我正在使用它:
uploader.filters.push({
name: 'imageFilter',
fn: function(item /*{File|FileLikeObject}*/, options) {
var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';
return '|jpg|png|jpeg|bmp|gif|'.indexOf(type) !== -1;
}
});
如何向此上传器添加第二个过滤器,将文件大小限制为600x600px?
更新1: 我想检查文件类型和文件大小。 它明白了:
uploader.filters.push({
name: 'imageFilter',
fn: function(item /*{File|FileLikeObject}*/, options) {
var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';
return '|jpg|png|jpeg|bmp|gif|'.indexOf(type) !== -1;
},
name:'sizeFilter',
fn: function(item, options){
console.log(item);
var maxSize=360000;
console.log(item.size+":"+maxSize+" : "+(parseInt(item.size) >= maxSize));
return parseInt(item.size) >= maxSize;
}
});
现在这实际上并没有给我实际图像的大小(如果它真的很宽但只有100px高,它可能仍会达到文件大小)。
答案 0 :(得分:0)
也许我在这里遗漏了一些东西,但你不能只使用像
这样的东西uploader.filters.push({
name: 'sizeFilter',
fn: function(item /*{File|FileLikeObject}*/, options) {
return item.file.size > {the size you want to check here}
}
});
答案 1 :(得分:0)
将它们保存为2个不同的过滤器 -
uploader.filters.push({
name: 'imageFilter',
fn: function(item /*{File|FileLikeObject}*/ , options) {
var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';
return '|jpg|png|jpeg|bmp|gif|'.indexOf(type) !== -1;
}
});
uploader.filters.push({
name: 'sizeFilter',
fn: function(item, options) {
console.log(item);
var maxSize = 360000;
console.log(item.size + ":" + maxSize + " : " + (parseInt(item.size) >= maxSize));
return parseInt(item.size) >= maxSize;
}
});
然后,在您的HTML中将它们用作 -
filters="imageFilter, sizeFilter"
。 不是吗?