如何使用jquery将图像编码到base64

How to encode an image to base64 using jquery?

本文关键字:base64 图像编码 何使用 jquery      更新时间:2023-09-26

我正在尝试使用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,/, "");

当我调用DataURL方法时,我得到了错误:DOM异常:SECURITY_ERR(18)。

知道我在这里做错了什么吗?

感谢

您需要使用php或任何其他服务器端语言将图像编码为base64编码。为此,请使用jquery-ajax,在服务器端对其进行编码并将其传递给客户端。

您可以将文本编码为base64编码。Codeplex中有一个不错的项目单击此处

我不确定你能不能编码图像,试试看。

由于同源策略,当您在画布上绘制来自页面以外其他来源的东西时,您无法对画布进行编码,除非:

  • 绘制的图像带有相关的CORS标题
  • 你通过一个代理来提供它,这样浏览器就会认为它是同源的

请注意,如果您在file://中打开页面,则任何图像都将被视为来自另一个原点。