2017-05-12 52 views
-1

我試圖在stackoverflow上找到這個解決方案,但沒有成功。我想從我的JSON文件與圖像URL Base64。 例子:從圖像URL到Base64(日期uri)從json

result({"image":"https://www.google.co.uk/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png"}); 

是否有任何建議,如何從它的Javascript或jQuery的獲得的Base64 DataURI,避免CORS錯誤?

非常感謝提前。

+1

我不明白是什麼你正在努力。有沒有你想在Base64中編碼的網址?你能根據這個例子添加你的預期輸出嗎? –

+0

從網址到數據:image/png; base64 .... – qqruza

回答

0

正確的解決辦法是:

getBase64FromUrl("http://upload.wikimedia.org/wikipedia/commons/4/4a/Logo_2013_Google.png"); 
function getBase64FromUrl(url) { 
var img = new Image(); 
img.setAttribute('crossOrigin', 'anonymous'); 
img.onload = function() { 
    var canvas = document.createElement("canvas"); 
    canvas.width =this.width; 
    canvas.height =this.height; 
    var ctx = canvas.getContext("2d"); 
    ctx.drawImage(this, 0, 0); 
    var dataURL = canvas.toDataURL("image/png"); 
    var url= dataURL.replace(/^data:image\/(png|jpg);base64,/, ""); 
}; 
img.src = url; 
} 

確保你所得到的圖像服務器從已經得到了這個報頭組訪問控制允許來源「*」