소스 검색

update 2024-06-12

junggilpark 1 년 전
부모
커밋
46a825288c
2개의 변경된 파일113개의 추가작업 그리고 321개의 파일을 삭제
  1. 106 319
      src/app.js
  2. 7 2
      src/views/hello.html

+ 106 - 319
src/app.js

@@ -387,13 +387,15 @@ function getErrorMessage(error) {
   if (error.response && error.response.status && error.response.statusText && error.response.data  && error.response.data.error) {
     // console.log(error.response);
     console.log('=============================== Axios Error ===============================')
+    console.log('발생시각 : '+ new Date().toLocaleString());
     console.log(error.response);
     console.log(error.response.data.error);
     errorText = `status : ${error.response.status} - ${error.response.statusText}<br>message : ${error.response.data.error.message}`;
   }
   else {
     console.log('================================ Error =====================================')
-    console.log(error);
+    console.log('발생시각:'+ new Date().toLocaleString());
+    console.log('에러 : '+ error);
     errorText = error; 
   } 
   return errorText;
@@ -738,20 +740,35 @@ serverApp.post('/api/upload', upload.array('file'),
           return res.json(uploadDriveResult);
         }
       }
-        const promiseArray = [];
-        const labelPromiseArray = [];
-        const fileWriteArray = [];
-        const possibleExt = POSSIBLE_EXT;
-        const {supported_file_ext, protected_file_ext} = possibleExt;
-        let supportedArr = [];
-        if (supported_file_ext && protected_file_ext) {
-          supportedArr = supported_file_ext.split(';');
-          if (!supportedArr[supportedArr.length - 1]) {
-            supportedArr.splice(supportedArr.length - 1);
-          }
-        }
 
-        if (files && files.length > 0) {
+      let fileWriteTime = new Date();
+      if (files && files.length > 0) {
+          const promiseArray = [];
+          const labelPromiseArray = [];
+          const fileWriteArray = [];
+          const possibleExt = POSSIBLE_EXT;
+          const {supported_file_ext, protected_file_ext} = possibleExt;
+          let supportedArr = [];
+          let protectedArr = [];
+          let protectedMap = new Map();
+          if (supported_file_ext && protected_file_ext) {
+            supportedArr = supported_file_ext.split(';');
+            protectedArr = protected_file_ext.split(';');
+            if (!supportedArr[supportedArr.length - 1]) {
+              supportedArr.splice(supportedArr.length - 1);
+            }
+            if (!protectedArr[protectedArr.length - 1]) {
+              protectedArr.splice(protectedArr.length - 1);
+            }
+            if (protectedArr.length > 0) {
+              for (let array of protectedArr) {
+                array = array.split('-');
+                if (array.length === 2) {
+                  protectedMap.set(array[0], array[1]);
+                }
+              }
+            }
+          }
           let beforeUri = '';
           let beforeItemId = '';
 
@@ -762,13 +779,13 @@ serverApp.post('/api/upload', upload.array('file'),
             file.originalname = Buffer.from(file.originalname, 'ascii').toString('utf8');
             let originName = file.originalname;
             if (originName) {
-              const ext = globalPath.extname(originName);
-              
-              if (supportedArr.length > 0 && !supportedArr.includes(ext)) {
-                  return res.json({success:'F', message: '파일명 : ' + originName 
-                                    +'<br>해당 파일은 업로드 불가 파일입니다. 다시 시도해주세요.<br>가능 확장자 :' 
-                                    + JSON.stringify(supportedArr)});
-              }
+                let ext = globalPath.extname(originName);
+                if (supportedArr.length > 0 && !supportedArr.includes(ext)) {
+                    return res.json({success:'F', message: '파일명 : ' + originName 
+                                      +'<br>해당 파일은 업로드 불가 파일입니다. 다시 시도해주세요.<br>가능 확장자 :' 
+                                      + JSON.stringify(supportedArr)});
+                }
+
 
                 const uuid = uuidv4();
                 const realFileName = uuid + ext;
@@ -779,32 +796,34 @@ serverApp.post('/api/upload', upload.array('file'),
                   })
                 }));
 
-                //fileWriteArray.push(['Z:/Source/' + realFileName, file.buffer]);
-                //fs.writeFileSync('Z:/Source/' + realFileName, file.buffer);
                 const base64Data = Buffer.from(file.buffer).toString('base64');
                 const param = {
                   apiKey: gateWayKey,
                   email: req.session.account.idTokenClaims.email,
                   dispFileName: originName,
-                  aipGuid: "878173ae-cc36-4881-af57-604af868314c",
-                  comment: "set-label",
+                  // aipGuid: "878173ae-cc36-4881-af57-604af868314c",
+                  aipGuid: "0166b75f-6a93-47f3-8fd3-e1e7c59141ab",
+                  comment: "set-protection",
                   fileData: base64Data,
                 }
                 // console.log(realFileName);
                 // console.log(param);
-                // labelPromiseArray.push(axios.post(apiUrl + '/api/v1/file/set-label', param));
-                labelPromiseArray.push(axios.post(apiUrl + '/api/v1/stream/set-label', param));
+                // labelPromiseArray.push(axios.post(apiUrl + '/api/v1/stream/set-label', param));
+                labelPromiseArray.push(axios.post(apiUrl + '/api/v1/stream/set-protection', param));
                 
                 let formatPath = '';
                 
                 if (file_path[idx]) {
-                  if (!path.includes(":")) {
-                    formatPath = ":" + file_path[idx];
+                  console.log(file_path[idx]);
+                  if (!path.includes(":")) { 
+                    formatPath = ":" + file_path[idx]; 
+                  }
+                  else {
+                    formatPath = file_path[idx];
                   }
                 }
     
                 let itemId = '';
-                
                 const uri = endPoint + "/sites/"+ siteId + path + formatPath;
                 if (beforeUri === uri) { 
                   itemId = beforeItemId;
@@ -821,14 +840,19 @@ serverApp.post('/api/upload', upload.array('file'),
                     res.json({success:'F', message: '파일 업로드 작업 중 오류가 발생했습니다.<br>에러 : ' + JSON.stringify(error.message)});
                   }
                 }
+                
+                if (protectedMap.size > 0 && protectedMap.get(ext)) {
+                  let name = originName.replace(ext, '');
+                  ext = protectedMap.get(ext);
+                  originName = name + ext;
+                }
                 promiseArray.push(endPoint + "/sites/"+ siteId +"/drive/items/"+itemId+':/'+originName+':/content');
             }
-
           }
 
           try {
-              let fileWriteTime = new Date();
-              const writeArr = await Promise.all(fileWriteArray);
+              //file write 시 사용
+              //const writeArr = await Promise.all(fileWriteArray);
 
               let writeTime = timeCheck(fileWriteTime, new Date());
               console.log('파일 Write Time : '+ writeTime);
@@ -836,14 +860,19 @@ serverApp.post('/api/upload', upload.array('file'),
 
               const labelTime = new Date();
               const labelResult = await Promise.all(labelPromiseArray);
-              // console.log(labelResult);
+              console.log(labelResult[0].data.result.fileData);
               console.log('label time : ', timeCheck(labelTime, new Date()));
 
               labelResult.forEach((obj, idx)=>{
+                console.log(obj.data);
                 if (obj.data && !obj.data.result.errorCode && obj.data.result.fileData) {
                   const data = Buffer.from(obj.data.result.fileData, 'base64');
+                  console.log(obj.data);
                   promiseArray[idx] = axios.put(promiseArray[idx], data, options);
                 }
+                else {
+                  throw '파일명 : '+obj.data.result.dispFileName + '<br>에러 : ' + obj.data.result.errorMessage;
+                }
               })
               // const readArray = [];
               // labelResult.forEach((obj)=>{
@@ -886,109 +915,15 @@ serverApp.post('/api/upload', upload.array('file'),
             return res.json({success:'F', message: '요청하신 파일 업로드 중 오류가 발생하였습니다.<br>' + getErrorMessage(error)});
           }
 
-          const endTime = new Date();
-          let betweenTime = timeCheck(startTime, endTime);
-          console.log('시작 시간 :', startTime.toLocaleString(), ', 종료 시간 :', endTime.toLocaleString(), ', 소요 시간 :', betweenTime);
-          res.json({success:'S', message: '요청하신 파일 업로드가 정상적으로 처리 되었습니다.'});
         }
-
-            // let fileReadTime = new Date();
-            // const result = await Promise.all(labelPromiseArray).then((result)=>{
-            //   const array = [];
-            //   for (let item of result) {
-            //     const obj = item.data;
-            //     if (obj.success && !obj.result.errorCode) {
-            //       // console.log(obj.result);
-            //       const labelFile = fs.readFileSync('Z:/Target/' + obj.result.outputFileName);
-            //       array.push({success:'S', dispFileName: obj.result.dispFileName, outputFileName : obj.result.outputFileName, file: labelFile});
-            //     }
-            //     else {
-            //       array.push({success:'F', message: '요청하신 파일 업로드 중 오류가 발생하였습니다.<br>' + obj.result.errorMessage});
-            //     }
-            //   }
-            //   return array;
-            // });
-            // const array = [];
-          
-            
-            // const result = await Promise.all(labelPromiseArray).then(async (result)=>{
-            //   return await Promise.all(result.map((item, idx)=>{
-            //     const obj = item.data;  
-            //     if (obj.success && !obj.result.errorCode) {
-            //       fs.readFile('Z:/Target/' + obj.result.outputFileName, (err, data)=>{
-            //         if (err) {
-            //           throw err;
-            //         }
-            //         promiseArray[idx] = axios.put(promiseArray[idx], data, options);
-            //       });
-            //     }
-            //     else {
-            //       throw obj.result.errorMessage;
-            //     }
-            //   })).then(async()=>{
-            //     return await Promise.all(promiseArray);
-            //   })
-            // });
-            // const result = await Promise.all(promiseArray);
-            // console.log(result);
-            // console.log('파일 Read 소요시간 : '+timeCheck(fileReadTime, new Date()));
-            // console.log(result);
-            // const array = await Promise.all(result.map((item, idx)=>{
-            //   const obj = item.data;  
-            //   if (obj.success && !obj.result.errorCode) {
-            //     fs.readFile('Z:/Target/' + obj.result.outputFileName, (err, data)=>{
-            //       if (err) {
-            //         throw err;
-            //       }
-            //       promiseArray[idx] = axios.put(promiseArray[idx], data, options);
-            //       return {success:'S', dispFileName: obj.result.dispFileName, outputFileName : obj.result.outputFileName, file: data};
-            //     });
-            //   }
-            //   else {
-            //     return {success:'F', message: '요청하신 파일 업로드 중 오류가 발생하였습니다.<br>' + obj.result.errorMessage};
-            //   }
-            // }))
-
-            // const errorIdx = array.findIndex((obj)=> obj.success === 'F');
-            // if (errorIdx >= 0) {
-            //   return res.json(array[errorIdx]);
-            // }
-            // for (let ii = 0; ii < result.length; ii++) {
-            //   const obj = result[ii].data;
-            //   if (obj.success && !obj.result.errorCode) {
-            //     // console.log(obj.result);
-            //     const labelFile = fs.readFileSync('Z:/Target/' + obj.result.outputFileName);
-            //     array.push({success:'S', dispFileName: obj.result.dispFileName, outputFileName : obj.result.outputFileName, file: labelFile});
-            //   }
-            //   else {
-            //     array.push({success:'F', message: '요청하신 파일 업로드 중 오류가 발생하였습니다.<br>' + obj.result.errorMessage});
-            //   }
-            // }
-            // console.log(array);
-            // console.log('파일 Read 소요시간 : '+timeCheck(fileReadTime, new Date()));
-            // return res.json({success: 'F', message: 'test'});
-            // if (result && result.length > 0) {
-            //     for (let ii=0; ii < result.length; ii++) {
-            //       if (result[ii] && result[ii].success === 'S') {
-            //         promiseArray[ii] = axios.put(promiseArray[ii], result[ii].file, options);
-            //       }
-            //       else {
-            //         return res.json(result[ii]);
-            //       }
-            //     }
-            // }
-            // .catch((error)=>{
-            //   console.log('=========================에러=================')
-            //   console.log(error);
-              // return res.json({success:'F', message: '요청하신 파일 업로드 중 오류가 발생하였습니다.<br>' + getErrorMessage(error)})
-            // })
-            // let uploadTime = new Date();
-            // const uploadResult = await Promise.all(promiseArray);
-            // const uploadBetween = timeCheck(uploadTime, new Date());
-            // console.log('upload 소요 시간:'+uploadBetween);
-          
-        }
-        
+        const endTime = new Date();
+        let betweenTime = timeCheck(startTime, endTime);
+        console.log('시작 시간 :', startTime.toLocaleString(), ', 종료 시간 :', endTime.toLocaleString(), ', 소요 시간 :', betweenTime);
+        res.json({success:'S', message: '요청하신 파일 업로드가 정상적으로 처리 되었습니다.'});
+    }
+    else {
+      return res.json({success:'F', message: '업로드 요청 파라미터 정보를 확인해 주세요.'});
+    }
 });
 
 function timeCheck(startTime, endTime) {
@@ -1004,8 +939,6 @@ function timeCheck(startTime, endTime) {
 
 
 serverApp.post('/api/download',
-  // isAuthenticated,
-  // isAccessTokens,
   async (req, res, next)=>{
     try {
       let startTime = new Date();
@@ -1018,39 +951,37 @@ serverApp.post('/api/download',
           const downObj = await getFolderItems(url, arr, options, req.session);
           const folderLength = downObj.folder.length;
           const fileLength = downObj.files.length;
-
-          if (downObj && (folderLength > 1 || fileLength > 1 || (folderLength + fileLength) > 1)) {
-            createZipFile(downObj, zip);
-            const now = new Date();
-            const year = now.getFullYear().toString();
-            let month = now.getMonth() + 1;
-            if (month < 10) month = "0" + month;
-            let date = now.getDate();
-            if (date < 10) date = "0" + date;
-            zip.generateAsync({
-              type: 'nodebuffer',
-              mimeType: 'application/epub+zip',
-              compression: 'DEFLATE',
-              compressionOptions: {
-                level: 9
-              },
-            }).then((resZip)=>{
-              const endTime = new Date();
-              console.log('시작 시간 :', startTime.toLocaleString(), ', 종료 시간 :', endTime.toLocaleString(), ', 소요 시간 :', timeCheck(startTime, endTime));
-              return res.json({success: 'S', data: resZip, name: zipName + '_' + year + '-' + month + '-' + date + '.zip'});
-            })
-            .catch((error)=>{
-              console.log(error);
-              return res.json({success: 'F', message:'파일 다운로드 중 오류가 발생하였습니다.', error: error});
-            });
-          }
-          else if (downObj.folder.length > 0 && downObj.files.length === 0) {
-            return res.json({success:'F', messages:'폴더안에 파일이 존재하지 않습니다.'})
-          }
-          else if (downObj.files.length === 1){
-            const data = downObj.files[0];
-            console.log(data);
-            return res.json({success: 'S', data: data.data, name: data.name})
+          if (downObj) {
+            if (folderLength > 0 || fileLength > 1 ) {
+              createZipFile(downObj, zip);
+              const now = new Date();
+              const year = now.getFullYear().toString();
+              let month = now.getMonth() + 1;
+              if (month < 10) month = "0" + month;
+              let date = now.getDate();
+              if (date < 10) date = "0" + date;
+              zip.generateAsync({
+                type: 'nodebuffer',
+                mimeType: 'application/epub+zip',
+                compression: 'DEFLATE',
+                compressionOptions: {
+                  level: 9
+                },
+              }).then((resZip)=>{
+                const endTime = new Date();
+                console.log('시작 시간 :', startTime.toLocaleString(), ', 종료 시간 :', endTime.toLocaleString(), ', 소요 시간 :', timeCheck(startTime, endTime));
+                return res.json({success: 'S', data: resZip, name: zipName + '_' + year + '-' + month + '-' + date + '.zip'});
+              })
+              .catch((error)=>{
+                console.log(error);
+                return res.json({success: 'F', message:'파일 다운로드 중 오류가 발생하였습니다.', error: error});
+              });
+            }
+            else if (downObj.files.length === 1){
+              const data = downObj.files[0];
+              const bufferData = Buffer.from(data.data, 'base64');
+              return res.json({success: 'S', data: bufferData, name: data.name})
+            }
           }
       }
       else {
@@ -1063,152 +994,6 @@ serverApp.post('/api/download',
   }
 );
 
-// serverApp.post('/api/download',
-//   // isAuthenticated,
-//   // isAccessTokens,
-//   async (req, res, next)=>{
-//     try {
-//       let startTime = new Date();
-//       if (req.body) { 
-//         const {siteId, path, fileIds, zipName} = req.body;
-//         if (siteId && path && fileIds) {
-//           const options = getOptions(req.session.accessToken);
-//           const arr = JSON.parse(fileIds);
-//           if (arr.length === 1) {
-//             const sitesInfo = await axios.get(endPoint + "/sites/"+ siteId + "/drive/items/" + arr[0], options);
-//             if (sitesInfo && sitesInfo.data) {
-//               const data = sitesInfo.data;
-//               if (data.folder) {
-//                   const folderObj = await getFolderItems(endPoint + "/sites/"+ siteId + "/drive/items/", arr, options, req.session);
-//                   // return res.json({success: 'F', message:'test', obj : folderObj});
-//                   const zip = new JSZIP();
-//                   if (folderObj) {
-//                     createZipFile(folderObj, zip);
-//                     const now = new Date();
-//                     const year = now.getFullYear().toString();
-//                     let month = now.getMonth() + 1;
-//                     if (month < 10) month = "0" + month;
-//                     let date = now.getDate();
-//                     if (date < 10) date = "0" + date;
-//                     zip.generateAsync({
-//                       type: 'nodebuffer',
-//                       mimeType: 'application/epub+zip',
-//                       compression: 'DEFLATE',
-//                       compressionOptions: {
-//                         level: 9
-//                       },
-//                     }).then((resZip)=>{
-//                       const endTime = new Date();
-//                       let betweenTime = endTime - startTime;
-//                       if (betweenTime > 60000) {
-//                         betweenTime = (betweenTime/1000/60) + ' 분';
-//                       }
-//                       else { 
-//                         betweenTime = (betweenTime/1000) + ' 초';       
-//                       }
-//                       console.log('시작 시간 :', startTime.toLocaleString(), ', 종료 시간 :', endTime.toLocaleString(), ', 소요 시간 :', betweenTime);
-//                       return res.json({success: 'S', data: resZip, name: data.name + '_' + year + '-' + month + '-' + date + '.zip'});
-//                     })
-//                     .catch((error)=>{
-//                       console.log(error);
-//                       return res.json({success: 'F', message:'파일 다운로드 중 오류가 발생하였습니다.', error: error});
-//                     });
-//                   }
-              
-//             }
-//             else {
-//               const dataUrl = data['@microsoft.graph.downloadUrl'];
-//               const response = await axios.get(dataUrl, {responseType: 'arraybuffer', headers: {
-//                 withCredentials:true,
-//               },});
-
-//               if (response.data) {
-//                 const file = Buffer.from(response.data, 'arraybuffer').toString('base64');
-//                 let decodeFile = null;
-//                 try {
-//                   const param = {
-//                     apiKey: gateWayKey,
-//                     email : req.session.account.idTokenClaims.email,
-//                     dispFileName: data.name,
-//                     comment: "",
-//                     fileData: file
-//                   }
-                  
-//                   const result = await axios.post(apiUrl + '/api/v1/stream/delete-label', param);
-//                   if (result && result.data.statusCode === 200 && !result.data.result.errorCode) {
-//                       decodeFile = result.data.result.fileData;
-//                   }
-//                   else {
-//                       return res.json({message: '파일명 : ' +data.name + '<br>에러 : ' + result.data.result.errorMessage, success: 'F'});
-//                   }
-//                 }
-//                 catch(error) {
-//                   return res.json({message: '레이블 해제 중 오류가 발생하였습니다.<br>' + JSON.stringify(error.message), success: 'F'});
-//                 }
-//                 const endTime = new Date();
-//                 let betweenTime = endTime - startTime;
-//                 if (betweenTime > 60000) {
-//                   betweenTime = (betweenTime/1000/60) + ' 분';
-//                 }
-//                 else {
-//                   betweenTime = (betweenTime/1000) + ' 초';       
-//                 }
-//                 console.log('시작 시간 :', startTime.toLocaleString(), ', 종료 시간 :', endTime.toLocaleString(), ', 소요 시간 :', betweenTime);
-//                 return res.json({success: 'S', data: decodeFile, type: data.file.mimeType, name: data.name});
-//               }
-//               else {
-//                 return res.json({message:'파일 다운로드에 실패하였습니다.', success:'F'})
-//               }
-//             }
-//           }
-//         }
-//         else {
-//             try {
-//               const url = endPoint + "/sites/"+ siteId + "/drive/items/";
-//               const zip = new JSZIP();
-//               const downObj = await getFolderItems(url, arr, options, req.session);
-//               if (downObj) {
-//                 createZipFile(downObj, zip);
-//                 const now = new Date();
-//                 const year = now.getFullYear().toString();
-//                 let month = now.getMonth() + 1;
-//                 if (month < 10) month = "0" + month;
-//                 let date = now.getDate();
-//                 if (date < 10) date = "0" + date;
-//                 zip.generateAsync({
-//                   type: 'nodebuffer',
-//                   mimeType: 'application/epub+zip',
-//                   compression: 'DEFLATE',
-//                   compressionOptions: {
-//                     level: 9
-//                   },
-//                 }).then((resZip)=>{
-//                   const endTime = new Date();
-//                   console.log('시작 시간 :', startTime.toLocaleString(), ', 종료 시간 :', endTime.toLocaleString(), ', 소요 시간 :', timeCheck(startTime, endTime));
-//                   return res.json({success: 'S', data: resZip, name: zipName + '_' + year + '-' + month + '-' + date + '.zip'});
-//                 })
-//                 .catch((error)=>{
-//                   console.log(error);
-//                   return res.json({success: 'F', message:'파일 다운로드 중 오류가 발생하였습니다.', error: error});
-//                 });
-//               }
-//             }
-//             catch(err) {
-//               console.log(err);
-//               return res.json({success: 'F', message:'파일 다운로드 중 오류가 발생하였습니다.', error: getErrorMessage(err)});
-//             }
-//           }
-//         }
-//         else {
-//           return res.json({message:'다운로드 파일 정보를 확인 할 수 없습니다.', success:'F'})
-//         }
-//       }
-//     }
-//     catch(error) {
-//       return res.json({success: 'F', message:'파일 다운로드 중 오류가 발생하였습니다.<br>'+ getErrorMessage(error)});
-//     }
-//   }
-// );
 
 serverApp.post('/api/folderMove', async (req, res, next)=>{
   if (req.body) {
@@ -1381,9 +1166,11 @@ async function getFolderItems(url, array, options, session) {
     }
   }
 
-  console.log('======================= folder check end ===============================')
+  console.log('======================= folder check end ===============================');
   console.log('folder check 소요시간 : ', timeCheck(folderCheckTime, new Date()));
-  console.log('======================= delete label start ===============================')
+
+
+  console.log('======================= delete label start ===============================');
   const fileDataArr = await Promise.all(fileArr);
   
   const deleteLabelTime = new Date();

+ 7 - 2
src/views/hello.html

@@ -195,6 +195,11 @@
     const alertTitle = '파일 업로드';
     const formData = new FormData($('<form enctype="multipart/form-data"></form>')[0]);
     const driveFileNames = getDriveFileNames();
+    const drivePath = getDrivePath();
+    let filePath = drivePath.replace('/drive/root', '');
+    if (filePath.includes(':')) {
+      filePath = filePath.replace(':', '');
+    }
     for (let file of files) {
       let fileName = file.name;
       if (driveFileNames.length > 0 && driveFileNames.includes(fileName)) {
@@ -202,6 +207,7 @@
         return alertMessage(alertTitle, '업로드 경로에 이미 같은 이름의 파일이 있습니다.<br>파일을 업로드 하려면 기존 파일의 명칭을 변경해주세요.<br>파일명 : '+ fileName, null, 'red');
       }
       formData.append('file', file);
+      formData.append('file_path', filePath);
     }
         
     $(event.target).val("");
@@ -559,7 +565,7 @@
         let imageExt = ".svg";
         //photo 
         // if (obj.file.mimeType && obj.file.mimeType.includes('image')){
-        if (['psd', 'bmp', 'rle', 'dib', 'jpeg', 'jpg', 'gif', 'png', 'tiff', 'raw', 'ico'].includes(ext)){
+        if (['psd', 'bmp', 'rle', 'dib', 'jpeg', 'jpg', 'gif', 'ppng', 'png', 'tiff', 'raw', 'ico'].includes(ext)){
           ext = 'photo';
         }
         else if (['ai', 'eps', 'svg'].includes(ext)) {
@@ -1361,7 +1367,6 @@
           _formData = new FormData($('<form enctype="multipart/form-data"></form>')[0]);
           // console.log(items);
           const result = await getFilesDataTransferItems(items);
-          console.log(result);
           //alertMessage('파일 업로드', error, null, 'red')
           if (result && result.length) {
             for (let obj of result) {