PageSourceSearch

https://lh.or.kr/main/js/file.js?20261001202939

js lh.or.kr collected 2026-10-01 11:32:00 UTC 9,966 bytes, 264 lines download raw bytes

1$(function () {
2    // 파일 용량 및 확장자 검증
3    $("input[type='file']").change(function () {
4        var fileSize = this.files[0].size;
5        //용량 체크
6        if (!checkAllowFileByte(fileSize, 50)) {		//mb기준
7            alert("허용 용량을 초과하였습니다.")
8            $(this).val('');
9            return false;
10        }
11
12        //기본 확장자 체크
13        if (!checkAllowFile(this.value, $('#uploadFileExtType').val())) {
14            alert("허용된 확장자가 아닙니다.")
15            $(this).val('');
16            return false;
17        }
18
19		 // 파일명 자릿수 초과 체크 (RF테이블 파일명 컬럼 길이: 100byte)
20        if($("#fileNameLength33Check").length > 0){
21            var filename = $(this).val().split('\\').pop().split('/').pop();
22            if(filename.length > 33){
23                alert("파일명을 33자 이내로 수정하여 다시 첨부 해주세요.");
24                
25                var num = $(this).prop("id").split("_")[1];
26                var fileInput = $("input[id='file_name_" + num + "']").val();
27                $("input[id='file_name_" + num + "']").val('');
28                $("input[id='file_" + num + "']").val('');
29                $(".input_file").find("input[id='file_" + num + "']").siblings(".file_del").hide();
30                
31                return false;
32            }
33        }
34
35    });
36});
37
38var gfv_count = 1;
39
40// 수정 form 파일 삭제
41function fn_lh_file_del(fileObj, index, appfileCode, appfileNo, appfileSeq, tableType) {
42    if (confirm("해당 파일을 삭제 하시겠습니까? 삭제한 첨부 파일은 복구 하실수가 없습니다.")) {
43        $.ajax({
44            url: "/lhFileDDel.do",
45            type: "POST",
46            dataType: "json",
47            data: {
48                appfileCode: appfileCode,
49                appfileNo: appfileNo,
50                appfileSeq: appfileSeq,
51                formMode: "D",
52                tableType: tableType
53            },
54            success: function (data) {
55                if (data.response === "success") {
56                    alert("선택하신 파일이 삭제 되었습니다.");
57                    $(fileObj).parent().remove();
58                    //첨부파일 삭제한 만큼 추가한다
59                    fn_addFile();
60                } else if (data.response === "loginErr") {
61                    alert("로그인정보가 없습니다.");
62                }
63            },
64            error: function (request, status, error) {
65                alert("저장중에 오류가 발생 하였습니다.");
66            }
67        });
68    }
69}
70
71// 수정 form 파일 삭제 : 민원시스템 첨부파일
72function fn_lh_MinwonFile_del(fileObj, index, appfileCode, appfileNo, appfileSeq, tableType) {
73    if (confirm("해당 파일을 삭제 하시겠습니까? 삭제한 첨부 파일은 복구 하실수가 없습니다.")) {
74        $.ajax({
75            url: "/lhMinwonFileDel.do",
76            type: "POST",
77            dataType: "json",
78            data: {
79                appfileCode: appfileCode,
80                appfileNo: appfileNo,
81                appfileSeq: appfileSeq,
82                formMode: "D",
83                tableType: tableType
84            },
85            success: function (data) {
86                if (data.response === "success") {
87                    alert("선택하신 파일이 삭제 되었습니다.");
88                    $(fileObj).parent().remove();
89                    //첨부파일 삭제한 만큼 추가한다
90                    fn_addFile();
91                } else if (data.response === "loginErr") {
92                    alert("로그인정보가 없습니다.");
93                }
94            },
95            error: function (request, status, error) {
96                alert("저장중에 오류가 발생 하였습니다.");
97            }
98        });
99    }
100}
101
102// 수정 form 파일 삭제 : 민원시스템_ 정보공개청구/이의신청청구 첨부파일
103function fn_lh_MinwonPublicFile_del(fileObj, index, appfileCode, appfileNo, appfileSeq, tableType) {
104    if (confirm("해당 파일을 삭제 하시겠습니까? 삭제한 첨부 파일은 복구 하실수가 없습니다.")) {
105        $.ajax({
106            url: "/lhMinwonPublicFileDel.do",
107            type: "POST",
108            dataType: "json",
109            data: {
110                appfileCode: appfileCode,
111                appfileNo: appfileNo,
112                appfileSeq: appfileSeq,
113                formMode: "D",
114                tableType: tableType
115            },
116            success: function (data) {
117                if (data.response === "success") {
118                    alert("선택하신 파일이 삭제 되었습니다.");
119                    $(fileObj).parent().remove();
120                    //첨부파일 삭제한 만큼 추가한다
121                    fn_addFile();
122                } else if (data.response === "loginErr") {
123                    alert("로그인정보가 없습니다.");
124                }
125            },
126            error: function (request, status, error) {
127                alert("저장중에 오류가 발생 하였습니다.");
128            }
129        });
130    }
131}
132
133function fn_lh_file_house_del(fileObj, index, appfileCode, appfileNo, appfileSeq, tableType) {
134    if (confirm("해당 파일을 삭제 하시겠습니까? 삭제한 첨부 파일은 복구 하실수가 없습니다.")) {
135        $.ajax({
136            url: "/lhFileDDel.do",
137            type: "POST",
138            dataType: "json",
139            data: {
140                appfileCode: appfileCode,
141                appfileNo: appfileNo,
142                appfileSeq: appfileSeq,
143                formMode: "D",
144                tableType: tableType
145            },
146            success: function (data) {
147                if (data.response === "success") {
148                    alert("선택하신 파일이 삭제 되었습니다.");
149                    $("#liDel_" + appfileSeq).remove();
150                    $(".file_style_" + appfileSeq).css("display", "block");
151
152                } else if (data.response === "loginErr") {
153                    alert("로그인정보가 없습니다.");
154                }
155            },
156            error: function (request, status, error) {
157                alert("저장중에 오류가 발생 하였습니다.");
158            }
159        });
160    }
161}
162
163
164// 신규 form 파일 삭제
165function fn_file_reset(num) {
166    var fileInput = $("input[id='file_name_" + num + "']").val();
167    if (fileInput != '') {
168        $("input[id='file_name_" + num + "']").val('');
169        $("input[id='file_" + num + "']").val('');
170        $(".input_file").find("input[id='file_" + num + "']").siblings(".file_del").hide();
171    }
172}
173
174
175// 파일 다운로드 & 바로보기
176function fn_lh_download(appfileCode, appfileNo, appfileSeq, virfileName, appfileUrl, appfileOriginal, tableName) {
177    $("#appfileCode").val(appfileCode);
178    $("#appfileNo").val(appfileNo);
179    $("#appfileSeq").val(appfileSeq);
180    $("#virfileName").val(virfileName);
181    $("#appfileUrl").val(appfileUrl);
182    $("#appfileOriginal").val(appfileOriginal);
183    $("#fileForm").submit();
184}
185
186function fn_getFileDivCnt() {
187    return $("#fileDiv").children("li").length;
188}
189
190// 첨부파일 버튼 추가
191function fn_addFile(limitCnt) {
192    var limit = limitCnt;
193    var cnt = fn_getFileDivCnt();
194
195    if (cnt >= limit) {
196        alert("파일을 더이상 추가할 수 없습니다. \n최대 갯수 : " + limit);
197        return;
198    }
199
200    var str = '<div class="input_file">'
201    str += '<input type="text" readonly="readonly" id="file_name_' + (gfv_count) + '" class="file_name form_textbox coolCheck" placeholder="JPG, JPEG, GIF, ZIP, DOC, PPT, XLS, HWPX, PDF, DOCX, PPTX, XLSX이며 용량은 파일당 최대 50MB입니다." title="첨부파일명file_' + (gfv_count) + '">'
202    str += '<label for="file_' + (gfv_count) + '" class="file_label btn_st2"><span class="sr_only">첨부파일' + (gfv_count) + '</span>파일찾기<i class="ri-search-line"></i></label>'
203    str += '<input type="file" name="file_' + (gfv_count) + '" id="file_' + (gfv_count) + '" class="file_upload">'
204    str += '<button type="button" class="file_del" onclick="fn_file_reset(' + (gfv_count) + ');" title="첨부 파일 제거">첨부된 파일 제거</button>';
205    str += ' </div>'
206
207    gfv_count++;
208    $("#fileDiv").append(str);
209}
210
211/*
212 * 첨부파일 용량 체크
213 * */
214function checkAllowFileByte(fileSize, maxSize) {
215    // 사이즈체크
216    var limitSize = parseInt(maxSize) * 1024 * 1024
217
218    // 브라우저 확인
219    /*var browser=navigator.appName;
220	if (browser=="Microsoft Internet Explorer"){							    // 익스플로러일 경우
221		var oas = new ActiveXObject("Scripting.FileSystemObject");
222		inputFile = oas.getFile(file[0].value);
223		fileSize = inputFile.size;
224	}else{																		// 익스플로러가 아닐경우
225		fileSize = file[0].files[0].size;
226	}*/
227
228
229    var allowed = false;
230    if (fileSize <= limitSize) {
231        allowed = true;
232    }
233    return allowed;
234}
235
236/**
237 * 파일 확장자 체크 2
238 * 주어진 확장자 목록 2번째 파라미러(@으로 구분하여 확인)
239 * @param value
240 * @param exts
241 * @returns {Boolean}
242 */
243function checkAllowFile(value, exts) {
244    var fnm = value;
245
246    var filter = fnm.substring(fnm.lastIndexOf(".") + 1, fnm.length).toLowerCase();
247
248    var extsSplit = "";
249    if (exts != "") {
250        extsSplit = exts.split(",");
251    }
252
253    var allowed = false;
254    if (fnm != "") {
255        for (var i = 0; i < extsSplit.length; i++) {
256            if (filter == extsSplit[i].toLowerCase()) {
257                allowed = true;
258                break;
259            }
260        }
261    }
262
263    return allowed;
264}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.