
A태그에 존재하는 download 속성과 canvas.toDataURL 메서드를 이용하여 base64 방식의 인코딩 이미지를 다운로드할 수 있습니다.
예제 코드
코드
javascript// 다운로드할 캔버스
const $canvas = document.querySelector("canvas");
// A DOM 생성
const $link = document.createElement("a");
$link.download = "파일명.png";
$link.href = $canvas.toDataURL("image/png");
// element에 마우스 클릭
$link.click();
document.createElement 메서드로 가상의 A DOM 요소를 생성해줍니다. 해당 a태그에 download 속성을 부여함으로써, 링크 이동 대신에 다운로드 기능을 이용할 수 있습니다.
도움받은 자료
https://developer.mozilla.org/ko/docs/Web/HTML/Element/a
<a> - HTML: Hypertext Markup Language | MDN
HTML <a> 요소(앵커 요소)는 href 특성을 통해 다른 페이지나 같은 페이지의 어느 위치, 파일, 이메일 주소와 그 외 다른 URL로 연결할 수 있는 하이퍼링크를 만듭니다.
developer.mozilla.org
https://developer.mozilla.org/ko/docs/Web/API/HTMLElement/click
HTMLElement.click() - Web API | MDN
HTMLElement.click() 메소는 엘리먼트에 마우스 클릭을 시뮬레이션합니다.
developer.mozilla.org