PageSourceSearch

https://allwork.co.kr/resources/assets/custom/js/uploadVideoFile.js?v=1790900512120

js allwork.co.kr collected 2026-10-02 00:24:35 UTC 4,472 bytes, 130 lines download raw bytes

1
2/*
3 * 복수개의 파일 Upload를 지원하는 공통 Javascript 모듈.
4 */
5//설정 및 옵션.
6var g_maxVideoFileCnt = 1;	 // 첨부파일 최대 개수
7//var g_uploadVideoFileTypes = ["application/x-zip-compressed"];
8var g_callback_delete_video = null;
9
10//공용정보.
11var g_uploadVideoFileArray = new Array();
12
13//설정정보.
14//var g_config_filebox_video = "videobox";
15//var g_id_file_list_video = "id_file_list_video";
16
17
18
19//파일 업로드.
20var fileVideoNo = 0;
21
22/* 첨부파일 추가 */
23function addUploadVideoFile(obj) {
24	////var attFileCnt = document.querySelectorAll('.filebox').length;	// 기존 추가된 첨부파일 개수
25	//var attFileCnt = document.querySelectorAll("[config_filebox=" + g_config_filebox_video + "]").length;	// 기존 추가된 첨부파일 개수
26	var attFileCnt = 0;
27	var remainFileCnt = g_maxVideoFileCnt - attFileCnt;				// 추가로 첨부가능한 개수
28	var curFileCnt = obj.files.length;									// 현재 선택된 첨부파일 개수
29
30	// 첨부파일 개수 확인
31	if (curFileCnt > remainFileCnt) {
32		alert("첨부파일은 최대 " + g_maxVideoFileCnt + "개 까지 첨부할 수 있습니다.");
33	}
34
35	//1개의 파일만 등록하기 위해, 기존정보 Reset.
36	g_uploadVideoFileArray = new Array();
37
38	for (var i = 0; i < Math.min(curFileCnt, remainFileCnt); i++) {
39		const file = obj.files[i];
40
41		// 첨부파일 검증
42		if (validateUploadVideoFile(file)) {
43			// 파일 배열에 담기
44			var reader = new FileReader();
45			reader.onload = function () {
46				g_uploadVideoFileArray.push(file);
47			};
48			reader.readAsDataURL(file)
49		
50			//// 목록 추가
51			//addUploadVideoFileHtml(g_id_file_list_video, g_config_filebox_video, file.name);
52		} else {
53			// 파일등록 취소.
54			//document.querySelector("input[type=file]").value = "";
55			document.querySelector("#strVideoFile").value = "";
56
57			continue;
58		}
59	}
60
61	/*
62	// 초기화
63	//document.querySelector("input[type=file]").value = "";
64	document.querySelector("#strVideoFile").value = "";
65	*/
66}
67
68function addUploadVideoFileHtml(id_file_list, config_filebox, filename) {
69	let htmlData = '';
70	htmlData += '<div id="file' + fileVideoNo + '" class="filebox" config_filebox="' + config_filebox + '">';
71	htmlData += '	<p class="name">' + filename + '</p>';
72	htmlData += '	<a class="delete" onclick="deleteUploadVideoFile(' + fileVideoNo + ');"><i class="far fa-minus-square"></i></a>';
73	htmlData += '</div>';
74	$("#" + id_file_list).append(htmlData);
75	fileVideoNo++;
76}
77
78/* 첨부파일 검증 */
79function validateUploadVideoFile(obj) {
80	if (obj.name.length > 100) {
81		alert("파일명이 100자 이상인 파일은 제외되었습니다.");
82		return false;
83	} else if (obj.size > (50 * 1024 * 1024)) {
84		alert("최대 파일 용량인 50MB를 초과한 파일은 제외되었습니다.");
85		return false;
86	} else if (obj.name.lastIndexOf('.') == -1) {
87		alert("확장자가 없는 파일은 제외되었습니다.");
88		return false;
89	//} else if (!g_uploadVideoFileTypes.includes(obj.type)) {
90	//	alert("첨부가 불가능한 파일은 제외되었습니다.");
91	//	return false;
92	} else {
93		return true;
94	}
95}
96
97/* 첨부파일 삭제 */
98function deleteUploadVideoFile(num) {
99	document.querySelector("#file" + num).remove();
100	g_uploadVideoFileArray[num].is_delete = true;
101	
102	if (g_callback_delete_video) {
103		g_callback_delete_video(num);
104	}
105}
106
107/* 삭제하는 파일과 신규로 등록하는 파일이름 목록 구성*/
108function buildUploadVideoFileInfo(id_uploadFilelist, id_deleteFilelist) {
109	// 삭제되지 않은 신규 파일 이름들만 목록에 담기.
110	var uploadFilelist = "";
111	for (var i = 0; i < g_uploadVideoFileArray.length; i++) {
112		// 삭제되지 않은 파일만 담기
113		if (!g_uploadVideoFileArray[i].is_delete && !g_uploadVideoFileArray[i].is_input) {
114			uploadFilelist += "," + g_uploadVideoFileArray[i].name;
115		}
116	}
117	if (uploadFilelist.length > 0) uploadFilelist += ",";
118	$("#" + id_uploadFilelist).val(uploadFilelist);
119
120	// 삭제된 파일 이름들만 목록에 담기.
121	var deleteFilelist = "";
122	for (var i = 0; i < g_uploadVideoFileArray.length; i++) {
123		// 삭제된 파일만 담기
124		if (g_uploadVideoFileArray[i].is_delete) {
125			deleteFilelist += "," + g_uploadVideoFileArray[i].name;
126		}
127	}
128	if (deleteFilelist.length > 0) deleteFilelist += ",";
129	$("#" + id_deleteFilelist).val(deleteFilelist);
130}

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.