我正在尝试使用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,/, "");
我收到错误:DOM异常:SECURITY_ERR(18),当我调用toDataURL方法时。
知道我在这里做错了吗?
由于
答案 0 :(得分:1)
您需要使用php或任何其他服务器端语言将图像编码为base64编码。为此目的使用jquery ajax,在服务器端对其进行编码并将其传递给客户端。
您可以将文本编码为base64编码。在Codeplex Click here中有一个不错的项目
我不确定你可以编码图片,试一试。
答案 1 :(得分:0)
由于same origin policy,除非是:
,否则当您从画布上绘制来自其他来源的画布时,您无法对画布进行编码。请注意,如果您在file://
中打开页面,则任何图片都会被视为来自其他来源。