Я создаю приложение Ionic и получаю эту ошибку при попытке преобразовать в base64 изображение с URL-адреса.
Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
Мой код следующий:
public getBase64Image(imgUrl: string): Promise<string> {
if (!imgUrl.includes("http")) {
return;
}
return new Promise<string>(resolve => {
let img = new Image();
img.src = imgUrl;
img.crossOrigin = "anonymous"
img.onload = (() => {
let canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
let ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
let dataURL = canvas.toDataURL("image/png");
resolve(dataURL);
});
});
}
Я читал другие вопросы, где установка anonymous
в crossOrigin
была решением, но у меня уже есть.
Надеюсь, вы сможете мне помочь, спасибо.
РЕДАКТИРОВАТЬ 1
Как примечание, я не получаю это в первый раз, когда я конвертирую изображение в base64, но я получаю его в следующий раз, когда пытаюсь отредактировать изображение.