问题是当我上传一个无效的文件扩展名和无效的文件大小。它不会提示无效的文件类型和文件大小,而是会根据满足2条件的第一个文件发出警报。Jquery条件不起作用
例如,当我上传example.php
和另一个大于2048的文件时,它将提醒无效的文件类型。然后反之亦然。
我要的是,如果我上传example.php
和具有大于2048的输出必须是无效的文件类型和文件大小的另一个文件。
这里是我的代码:
var fileextension = new RegExp("(.*?)\.(csv|doc|docx|gif|jpeg|jpg|pdf|png|ppt|pptx|txt|xls|xlxs|zip|mp3|mp4)$");
$('input[type=file]').change(function() {
var val = $(this).val().toLowerCase();
for(var i=0; i<this.files.length; i++){
var filename = this.files[i].name.toLowerCase();
var fsize = this.files[i].size,
fsize = fsize/1024; // 1024 = 1mb
if(fsize > 2048){
$(this).val('');
swal('Opps','Invalid file size','warning');
}else if(!fileextension.test(filename)){
$(this).val('');
swal('Opps','Invalid file type','warning');
}else if(!fileextension.test(filename) && fsize > 2048){
$(this).val('');
swal('Opps','Invalid file type and file size','warning');
}
}
我试过你代码我上传了一个PHP文件和一个大于2048的文件,但它仍然没有显示正确的错误,这里是我的代码https://jsfiddle.net/ga9ht53e/6/ – erinr
嗯,不能真正弄清楚,但试图打开你给的链接,它对我来说是完美的。你能再次检查吗? – 31piy
当你上传至少1个有效的文件扩展名时,它的工作完美,而另一个文件是假设文件大小大于2048,那么它将提醒该无效文件大小。反之亦然。但如果我上传无效的文件扩展名如.php文件和大于2048大小的有效文件,它将不会提示“无效的文件类型和文件大小” – erinr