イメージURLをbase64イメージに変換しようとしています。私は使用しようとしているthisを見つけました。Javascript URLをBase64イメージに変換する
I次のコードを持っている:
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.
私のコードは私には必要です。誰でもbase64イメージにURLを変換する方法を助言してもらえますか?
おかげ
UPDATE
は、私は、関数に次の行aded:
:img.crossOrigin = "Anonymous";
エラーを処分した、しかし、今、私は次の取得します
data:,
ルック - *エラー:「HTMLCanvasElement」オン「toDataURL」を実行に失敗しました:汚染されたキャンバスをエクスポートすることはできません* – Quentin
を追加しましたエラーメッセージ。これを指摘していただきありがとうございます。 – Richard
これを重複としてマークしました。どの質問に重複がありますか? – Richard