ABOUT ME

더 많은 경험으로 더 넓은 세상으로

Today
Yesterday
Total
  • [JavaScript] 파일 드롭 이벤트(File Drop Event)
    프로그래밍/JavaScript 2022. 12. 31. 19:08
    728x90

     

     

    자바스크립트를 이용하여 파일 드롭 기능을 구현한다.

     

    이벤트 종류 설명
    drop  드래그한 파일이 영역에 드롭되었을 때 발생
    dragover  드래그한 파일이 영역에 머물러 있을 때 발생

     

     

     

    [HTML 소스]

    <div id="dropZone">
        <div id="dropZoneTitle">파일을 올려놓으세요</div>
    </div>

     

     

    [CSS 소스]

    #dropZone {
        margin-top: 5px;
        border: 1px solid rgb(121, 121, 121);
        width: 700px;
        height: 200px;
    }
    #dropZoneTitle {
        display: flex;
        justify-content: center;
        margin-top: 80px;
    }

     

     

    [JavaScript 소스]

    const dropZone = document.getElementById("dropZone");
    
    // drop 이벤트를 사용하기 위해서는 ondragover 이벤트 사용은 필수적이다.
    dropZone.ondragover = (e) => {
        e.preventDefault();
    }
    
    dropZone.ondrop = (e) =>{
        e.preventDefault();
    
        var data = e.dataTransfer.files;
        console.log(data); // 데이터 확인용
        
        var dropZoneResult = "";
        for(let i = 0 ; i < data.length ; i++){
            dropZoneResult += `${i+1}) 파일명 : ${data[i].name}, 사이즈 : ${data[i].size}KB, 타입 : ${data[i].type} 
            `;
        } 
    
        dropZone.innerText = dropZoneResult;
    }

     

    드롭된 파일은 drop 이벤트 객체의 dataTransfer 데이터에 담겨 전달되고 dataTransfer의 files로 접근하여 드롭된 파일 정보를 가져올 수 있습니다.

     

     

    drop Box

     

    drop 결과

     

     

     

    console.log를 확인해보면 dataTransfer 내 다양한 정보가 담겨있는걸을 확인 할 수 있다.

     

    e.dataTransfer.files 결과

     

     

     

     

     

    728x90

    '프로그래밍 > JavaScript' 카테고리의 다른 글

    JavaScript { ... } 문법  (0) 2022.12.03
    JavaScript 이벤트 전파(Event Propagation)  (0) 2022.10.14
    JavaScript 이벤트 객체  (0) 2022.10.13
    JavaScript 이벤트  (0) 2022.10.12
    JavaScript 폼객체  (0) 2022.10.11

    댓글

Designed by Tistory.