JavaScript | jQuery/Validation

[jQuery] 파일 확장자, 용량 체크

은정재 2022. 5. 17. 11:20

- 작성자의 경우 파일첨부 상태 변화를 감지해야 되는 상황이라 'change' 이벤트 핸들러 안에 작성하였다.

var test = function() {
    (function() {
        $('#_testFile').on('change', function() {
            if ($('#_testFile').val() != '') {
                // 1. 첨부된 파일 확장자 체크
                var ext = $('#_testFile').val().split('.').pop().toLowerCase();
                if ($.inArray(ext, ['jpg', 'jpeg', 'gif', 'png']) == -1) {
                    $('#_testFile').val('');
                    alert(".jpg / .jpeg / .gif / .png 파일만 업로드 할 수 있습니다.");
                    return;
                }

                // 2. 첨부된 파일 용량 체크
                var maxSizeValue = 300;
                var maxSize = maxSizeValue * 1024 * 1024; // 300MB
                var fileSize = $("#_testFile")[0].files[0].size;

                if (fileSize > maxSize) {
                    alert("첨부파일 사이즈는 " + maxSizeValue + "MB 이내로 등록 가능합니다.");
                    $('#_testFile').val('');
                    return;
                }
            } else {
                // 파일을 선택 후 재선택 시 취소한 경우
            }
        });
    })();
}();