Javascript 无法在Cordova 4.0 ios中将jpg/jpeg图像转换为Base64

Javascript 无法在Cordova 4.0 ios中将jpg/jpeg图像转换为Base64,javascript,ios,cordova,html5-canvas,Javascript,Ios,Cordova,Html5 Canvas,我正在从事cordova 4.0.0 ios项目,该项目涉及将手机图库中的图像转换为Base64图像,并将其上传到服务器 我使用html5画布方法获取base64数据,如下所示: var img = new Image(); img.src = URL; img.onload = function () { var canvas = document.createElement("canvas"); canvas.width = this.width; can

我正在从事cordova 4.0.0 ios项目,该项目涉及将手机图库中的图像转换为Base64图像,并将其上传到服务器

我使用html5画布方法获取base64数据,如下所示:

   var img = new Image();
   img.src = URL;
   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/jpeg",0.5);
   alert("dataURL:" + dataURL);
上面的代码对于png图像效果很好,但是当我选择一个jpg图像进行转换时,我会从警报中得到如下输出:

   var img = new Image();
   img.src = URL;
   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/jpeg",0.5);
   alert("dataURL:" + dataURL);
“dataURL:数据:”


有人能帮帮我吗。

你可以尝试使用canvas.toDataURL();直接,不进行转换,并将PNG作为输出

var jpegUrl = canvas.toDataURL("image/jpeg"); //for JPEG output
var pngUrl = canvas.toDataURL(); // for PNG output

您好,我尝试过这个方法,但它仍然没有返回所需的base64数据。很抱歉