如何禁止向文件输入添加大文件

时间:2013-04-25 00:39:27

标签: jquery

我有输入文件

<input class="input-file" type=file/>

我使用以下函数检查文件大小

    $(".input-file[type=file]").change(function () {
        var file = this.files[0];
        if (file.size > 2*1024*1024) {
            alert("Too large Image. Only image smaller than 2MB can be uploaded.");
            return false;
        }
        $(".input-file[type=file]").submit();
    });

问题是即使用户提示警告消息“图像太大。只能上传小于2MB的图像。”,但最终MyBigFile.txt被添加到输入文件中。如何不让用户将大于2MB的文件添加到文件输入?

1 个答案:

答案 0 :(得分:5)

您可以使用全新的输入替换违规输入,因为您无法对文件输入做很多事情。

$(document).on("change", ".input-file[type=file]", function () {
    var file = this.files[0];
    if (file.size > 2*1024*1024) {
        alert("Too large Image. Only image smaller than 2MB can be uploaded.");
        $(this).replaceWith('<input class="input-file" type="file">');
        return false;
    }
});

http://jsfiddle.net/EuAy8/2/