我在上传到我的服务器之前检查文件类型,但文件类型检查仅适用于png和现在的jpeg:
for(var j = 0; j < $files.length; j++) {
if(!$files[j].type.match('image/png') || !$files[j].type.match('image/jpeg')) {
$scope.all_files_images = false;
}
}
如果类型为 image / jpeg ,则会执行$scope.all_files_images = false;
,但不应该执行此操作。适用于png。我检查了类型,一切看起来都很好。
答案 0 :(得分:1)
你的逻辑被打破了。你的代码说,“如果它不是PNG,那么它不是JPG那么......”
如果它是一个,它仍然会失败,因为它不是另一个。换句话说,如果是一个.png文件,那么,当然,这意味着它不是一个.jpg文件,因此测试认为这是一个错误。< / p>
将||
更改为&&
。然后就会,“如果它不是PNG而且它不是JPG那么......”,这是正确的。
答案 1 :(得分:1)
你正在传递一个字符串,例如'image/png'
方法的match()
。不幸的是,match()
不期望一个字符串,它期望一个RegExp
对象......像这样:
match(/gif|png|jpg|jpeg/);