이미지 URL을 base64 이미지로 변환하려고합니다. 나는 내가 사용하려고 시도하고있는 this을 발견했다.Javascript URL을 Base64 이미지로 변환
나는 다음과 같은 코드가 있습니다
var imgUrl = 'https://www.google.de/images/srpr/logo11w.png';
let base64image = this.getBase64Image(imgUrl);
console.log(base64image);
및
public getBase64Image(imgUrl) {
var img = new Image();
img.src = imgUrl;
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
var dataURL = canvas.toDataURL("image/png");
return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
}
그러나, 그것은 다음과 같은 출력을 :
I 얻을 콘솔에서 다음과 같은 오류 :data:,
EXCEPTION: Uncaught (in promise): SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported. Error: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
내 코드는 절대로 incoreect해야합니다. 누구든지 base64 이미지로 URL을 변환하는 방법을 조언 주실 수 있습니까?
감사
UPDATE
내가 함수에 다음 줄 aded :
:img.crossOrigin = "Anonymous";
오류를 제거되었다, 그러나 지금은 다음과 같은 수
data:,
봐 - * 오류 :. 'HTMLCanvasElement'에 'toDataURL'을 실행하지 못했습니다 : 오염 된 캔버스를 내보낼 수 없습니다 * – Quentin
추가 오류 메시지. 이것을 지적 해 주셔서 감사합니다. – Richard
이것을 중복으로 표시하셨습니까? 어떤 질문에 중복됩니까? – Richard