我試圖將圖像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,/, "");
}
但是,它輸出以下:
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圖像?
感謝
UPDATE
我交鋒以下行功能:
img.crossOrigin = "Anonymous";
這擺脫了錯誤的,但是,現在我得到如下:
data:,
看看你在控制檯上的錯誤信息 - *錯誤:無法執行對「HTMLCanvasElement」 toDataURL「:被污染的畫布不得出口* – Quentin
新增的錯誤消息。感謝您指出這一點。 – Richard
您將此標記爲重複項,它重複了哪個問題? – Richard