2

入力ファイルがあります

<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 を超えるファイルをファイル入力に追加できないようにするにはどうすればよいですか?

4

1 に答える 1

6

ファイル入力に対して多くのことを行うことはできないため、問題のある入力を新しいものに置き換えることができます。

$(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/

于 2013-04-25T00:45:35.973 に答える