Jquery 文件大小验证不起作用

Jquery file size validation does not work

我在 Internet 上得到了这个 jquery 文件类型验证。它很好用。后来我在其中添加了一些代码来验证文件的大小。但是当我的文件大小大于 50KB 时,它不会引发警告框。我刚刚学习 jquery 所以我不确定我添加的内容是否正确。请帮忙。

这里是JSFIDDLE

代码如下:

<script>
$(document).ready(function () {
$('input[type=file]').change(function () {
var val = $(this).val().toLowerCase();
var regex = new RegExp("(.*?)\.(jpg|jpeg|gif)$");
if(!(regex.test(val))) {
$(this).val('');
alert('Unsupported file');
} 
if ($(this).files.size > 50000 || $(this).files.fileSize > 50000)
    {
        //reset file upload control
       $(this).val('');
       //show an alert to the user
       alert('Allowed file size exceeded 50KB');


    }
}); });
</script>

这是我添加到现有代码中的内容:

if ($(this).files.size > 50000 || $(this).files.fileSize > 50000)
    {
        //reset file upload control
       $(this).val('');
       //show an alert to the user
       alert('Allowed file size exceeded 50KB');


    }

工作fiddleHERE

代码

$(document).ready(function () {
$('input[type=file]').change(function () {
var val = $(this).val().toLowerCase();
var regex = new RegExp("(.*?)\.(jpg|jpeg|gif)$");
if(!(regex.test(val))) {
$(this).val('');
alert('Unsupported file');
} 
if (this.files[0].size > 50000 || this.files[0].size > 50000)
    {
        //reset file upload control
       $(this).val('');
       //show an alert to the user
       alert('Allowed file size exceeded 50KB');


    }
}); });

更多参考Here。它使用 this.files[0].size 表示获取第一个 selectd 文件的文件大小(如果启用了 multiselect,检查第一个图像),无论如何你没有 multiselect 所以你使用文件的第 0 个索引 selected 访问它,因为在常规操作中您只能 select 1 个文件。

$(document).ready(function () {
$('input[type=file]').change(function () {
var val = $(this).val().toLowerCase();
var regex = new RegExp("(.*?)\.(jpg|jpeg|gif)$");
if(!(regex.test(val))) {
$(this).val('');
alert('Unsupported file');
} 
if (this.files[0].size > 50000)
    {
        //reset file upload control
       $(this).val('');
       //show an alert to the user
       alert('Allowed file size exceeded 50KB');


    }
}); });
<input type="file"/>