没有File API的Javascript文件大小验证

时间:2014-04-03 13:36:56

标签: javascript

我们是否有任何方法可以使用它来验证文件大小,然后再使用File API上传,然后使用File API,因为IE8和9不支持。

正在使用文件类型输入标记

选择文件

不想使用Activex

4 个答案:

答案 0 :(得分:1)

您可以使用 polyfill 在旧版浏览器(如IE8和IE9)中添加对File API的支持。

转到此处并向下滚动到“文件API”部分。

https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills

答案 1 :(得分:1)

您可以使用Javascript执行此操作,如下所示,

    $('input[type="file"]').change(function () {
    if (this.files[0] != undefined) {
        var name = this.name;
        var filesize = this.files[0].size;
        var field = $('#' + this.name).parents('.input-group');

        //check if file size is larger than 3MB(which is 3e+6 bytes)
        if (filesize > 3000000) {
           alert(filesize);
        //reset that input field if its file size is more than 3MB
           $('[name="' + name + '"]').val('')
        }
    }
});

您可以通过更改大小限制(以字节为单位)将此包含在type ='file'的所有输入中。

答案 2 :(得分:0)

活跃的X(仇恨会讨厌):

var filepath = 'path/to/file',
    fso = new ActiveXObject('Scripting.FileSystemObject'),
    file = fso.getFile(filepath),
    imgbytes = file.size;

console.log(imgbytes);

答案 3 :(得分:-1)

不是我知道的。无论如何,由于客户端验证仅用于用户友好目的,如果您的用户没有支持文件API的浏览器,您可以轻松地回到服务器上的检查。对于旧的浏览器,无论如何它们应该用于获得用户友好的网站......