일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- workspace
- 게시판 제작
- Eclipse
- sequence diagram
- jdbc
- 데이터베이스
- System Requirement Specification
- 이클립스 설정
- 네크워크
- java
- network
- 자바
- 제안서
- IO
- mindmap
- Ecilpse
- js꼬리
- jdk설치
- FIle
- 파일
- 게시판
- 소켓
- 설정
- analysis
- srs
- 메소드
- vision document
- Database
- custom Tag
- 클래스
- Today
- Total
공적's life
크롬에서 drag and drop으로 파일 다운로드 만들기 본문
gmail에서 파일 다운로드 할때 그냥 드래그앤 드랍 바탕화면에 갖다가 놓으면
자동으로 파일이 다운로드 됩니다. 이것이 신기해서 한번 찾아보았고 이렇게 구현 하면 됩니다.
어려울거 같지만 어렵지도 않습니다.
그럼 첫번째 step
var file = document.getElementById("dragout");
file.addEventListener("dragstart",function(evt){
evt.dataTransfer.setData("DownloadURL",fileDetails);
},false);
이 예제를 보시면 바로 감이 오실겁니다. 먼저 dom으로 객체를 찾고 그 객체에 이벤트를 줍니다
드래그가 시작 되었을때 다운로드 URL을 주는겁니다.
그다음
<a href="Eadui.ttf" id="dragout" draggable="true" data-downloadurl="
application/octet-stream
:Eadui.ttf
:http://thecssninja.com/gmail_dragout/Eadui.ttf">Font file</a>
태그는 이런식으로 선언하게 됩니다. 주목할것은 빨간색입니다. 빨간색에 첫번째 draggable=true는 드래그를 쓰게
만드는것입니다. HTML 5에서 추가된 속성입니다.
그리고 다음 data-downloadurl은 content-type:파일명:파일의 경로 이런식으로 구성되어 있습니다.
data-downloadurl은 드래그가 시작되었을때 셋 되어야 하는 값입니다.
그렇다면 data-downloadurl은 어떻게 전달해줘야하는것인가요?
var fileDetails;
if(typeof file.dataset === "undefined") {
// Grab it the old way
fileDetails = file.getAttribute("data-downloadurl");
} else {
fileDetails = file.dataset.downloadurl;
}
이런식으로 사용하시면 됩니다. dataset(html5에서 추가)을 사용할수 없다면 일반적인 방법으로 불러 올것이고
사용할수 있다면 그냥 셋팅해주면 됩니다.
뭐 어렵지는 않죠?
다음번에 기회가 있으면 업로드도 한번 찾아서 해볼게요
'Programing' 카테고리의 다른 글
custom Tag 만들기 - TagSupport 이용하여 js 꼬리표 붙이기 (0) | 2015.04.26 |
---|---|
모바일 브라우저에서 포커스 안보이게 하기 (0) | 2014.05.12 |
ehcache 적용하기 (0) | 2012.06.01 |
리눅스 시간 동기화 (0) | 2012.05.10 |
ie6에서 테투리를 없애는 방법 (0) | 2011.09.25 |