簡體   English   中英

如何使用jQuery將圖像編碼為base64?

[英]How to encode an image to base64 using jquery?

我正在嘗試使用IE9將圖像(jpg)編碼為base64。 我嘗試了以下代碼:

var canvas = document.createElement("canvas");
    canvas.width = document.getElementById('myImage').width; 
    canvas.height = document.getElementById('myImage').height;

    var ctx = canvas.getContext("2d");
    ctx.drawImage(document.getElementById('myImage'), 0, 0);

    var dataURL = canvas.toDataURL("image/png");

    return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");

當我調用toDataURL方法時,出現錯誤:DOM異常:SECURITY_ERR(18)。

知道我在做什么錯嗎?

謝謝

您需要使用php或任何其他服務器端語言將圖像編碼為base64編碼。為此,請使用jquery ajax,在服務器端對其進行編碼,然后將其傳遞給客戶端。

您可以將文本編碼為base64編碼。Codeplex中有一個不錯的項目,請單擊此處。

我不確定您是否可以對圖像進行編碼,請嘗試一下。

由於原產地政策相同 ,在畫布上繪制來自頁面以外的其他來源的內容時,您無法進行編碼,除非:

  • 繪制的圖像帶有相關的CORS標頭
  • 您通過代理提供服務,以使瀏覽器認為其來源相同

請注意,如果您在file://打開頁面,則任何圖像都將被視為來自其他來源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM