-
[javascript | Vue] 이미지 다운로드 기능 만들기 (canvas/url활용)쬬는 개발중 2022. 12. 2. 13:18반응형
get으로 받은 소스를 화면에 뿌리고> 그 이미지를 다운로드 받으려면 canvas를 활용해 가능하다.
👉 template (표현되어질 부분)
<v-col class="pa-5 pt-8" style="text-align: center"> <canvas id="canvas" v-html="qrHtml" height="300"></canvas> </v-col>
👉 template (다운로드 버튼)
<v-btn class="pl-3 mb-2" color="accent" @click="download"> 다운받기<v-icon class="ml-1">mdi-arrow-down-bold-circle</v-icon> </v-btn>
👉 methods
a 태그를 임의로 생성해 canvas 속성을 대입해 다운로드 기능을 동작하게 해준다
download() { var a = document.createElement("a"); // a.setAttribute("download", "파일이름" + ".png"); a.setAttribute( "href", document .getElementById("canvas") .toDataURL("image/png") .replace("image/png", "image/octet-stream") ); a.setAttribute("target", "_blank"); //이벤트 호출 a.dispatchEvent( //생성된 a태그에 클릭이벤트 설정 new MouseEvent("click", { view: window, bubbles: false, cancelable: true, }) ); },
반응형'쬬는 개발중' 카테고리의 다른 글
[axios] 엑셀 파일 다운로드 기능 구현하기 (0) 2022.12.04 [axios] 이미지 POST 기능이 제대로 동작하지 않을때 확인사항 (0) 2022.12.02 [javascript] 문자 /n 줄바꿈 변환작업 (1) 2022.12.02 [javascript] window.open 팝업권한 사파리 문제해결 (0) 2022.11.29 [javascript] youtube embed 소스 자동재생 모바일에서 안된다면 (autoplay 이슈해결) | mobile 자동재생 안됨 (0) 2022.11.25