1

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 Exception: SECURITY_ERR (18) というエラーが発生しました。

ここで何が間違っているのか分かりますか?

ありがとう

4

2 に答える 2

0

同じオリジン ポリシーにより、次の場合を除き、ページ以外のオリジンからのものをキャンバスに描いた場合、キャンバスをエンコードできません。

でページを開くとfile://、どの画像も別のオリジンからのものとして表示されることに注意してください。

于 2013-07-01T15:33:29.980 に答える