반응형
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 |