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.