获取change.bs.fileinput上的文件大小

时间:2014-11-07 12:29:06

标签: jasny-bootstrap

我正在尝试向Jasny Bootstrap Fileinput添加验证系统,以便在继续下一步表单之前验证文件大小和图像格式。

我试了Get file size before uploading但没有成功。此检查存在于后端,但由于表单是"类似向导",我想在实时模式下执行此操作。

提前致谢。

1 个答案:

答案 0 :(得分:0)

这是我通常在整个项目中为Jasny bootstrap输入类型实现它的方式。

希望这会对某人有所帮助。

$('.fileinput').on("change.bs.fileinput", function (e) {            
        var file = $(e.delegateTarget, $("form")).find('input[type=file]')[0].files[0];

        var fileExtension = file.name.split(".");
        fileExtension = fileExtension[fileExtension.length - 1].toLowerCase();

        var arrayExtensions = ["jpg", "jpeg", "png"];

        if (arrayExtensions.lastIndexOf(fileExtension) == -1) {
            alert('Only Images can be uploaded');
        }
        else {
            if (file["size"] >= 4194304 && (fileExtension == "jpg" || fileExtension == "jpeg" || fileExtension == "png")) {
                alert('Max 4 MB of file size can be uploaded.');                 
                $(this).fileinput('clear');
            }
        }  
    });