아래와 같은데 이는 조금 문제가 있다. 확장으로 이미지를 디자인식으로 올린 경우 저장이 동일하게 되지 않는다.
// Get canvas information let canvas = document.getElementsByTagName("canvas"); if(canvas&&canvas.length>0){ // create label let tempA = document.createElement("a"); // Set download name tempA.download = "echarts download" +".png"; // Set address and file type tempA.href = canvas[0].toDataURL("image/png"); document.body.appendChild(tempA); // Trigger download event tempA.click(); // Remove Tag tempA.remove(); }
따라서 온전히 저장을 하기 위해서는 echat 내부 api를 사용해야 한다.
/**
* @param flNm 저장 파일명 확장자 포함
* @param chartObj 차트 오브젝트명
* @param pixelRt 저장 이미지 비율 default 1(1:1)
* @returns
*/
function downloadURI(flNm, chartObj, pixelRt = 1) {
var tempA = document.createElement("a");
tempA.download = flNm ;
//address 설정하고 파일의 타입 정하기
tempA.href = chartObj.getDataURL({
pixelRatio: pixelRt
});
document.body.appendChild(tempA);
//클릭 다운로드 이벤트
tempA.click();
//태그를 제거합니다
tempA.remove();
}
증상 : NET::ERR_CERT_AUTHORITY_INVALID 나면서 거리뷰 이미지 표출 기능 로컬에서 개발시에 오류가 발생
서버에서는 자신의 인증 및 처리가 되어 있지만, 로컬에서는 처리가 되지 않아서 오류가 나는것으로 판단됩니다.
문의를 했더니
ERR_CERT_COMMON_NAME_INVALID 해당 에러는 인증서에 올바른 subjectAlternativeName 확장이 없는 경우 연결이 비공개로 설정되지 않았다는 NET::ERR_CERT_COMMON_NAME_INVALID 오류가 사용자에게 표시되는 것으로 알려져있습니다.