구현
<!DOCTYPE html> <head> <meta charset="UTF-8"> <title>Title</title> <style> .drop { width: 300px; height:300px; border: 1px solid black; } </style> </head> <hr> <div class="drop" id="drop"> <img id="dropped"/> </div> <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script> <script> $(function(){ $('#drop').on({ 'drop':function(e){ var f=e.originalEvent.dataTransfer.files[0]; var reader = new FileReader(); $(reader).on('load',function(){ $('#dropped').attr('src',reader.result); }); reader.readAsDataURL(f); e.preventDefault(); }, 'dragover':function(e){ e.preventDefault(); } }) }); </script>
1) e.originalEvent.dataTransfer.files[0]
- 드롭된 파일(file객체) 접근한다
2) FileReader
- 파일을 읽는 객체를 경유하여 단지 <img> 속성에 이미지를 넣는다
- 업로드 처리는 $.post 같은 ajax 통신을 이용하여 처리한다