Javascript 将图像blob url转换为base64

Javascript 将图像blob url转换为base64,javascript,jquery,webview,base64,blob,Javascript,Jquery,Webview,Base64,Blob,我有一个库中的代码,我想将图像部分转换为base64 但我在将blob转换为base64时一直出错 它是设备上托管的本地html文件 <div class="widget file-picker"><input class="ignore fake-file-input" placeholder="Click here to upload file. (< 5MB)" readonly=""><button class="btn-ico

我有一个库中的代码,我想将图像部分转换为base64

但我在将blob转换为base64时一直出错

它是设备上托管的本地html文件

      <div class="widget file-picker"><input class="ignore fake-file-input"
      placeholder="Click here to upload file. (< 5MB)" readonly=""><button class="btn-icon-only btn-reset"
      aria-label="reset" type="button"><i class="icon icon-refresh"> </i></button><a
      class="btn-icon-only btn-download" aria-label="download"
      download="image-1562651713366.jpg389038873-13_55_28.jpg"
      href="blob:file:///3efb6b21-718c-48d2-8fa1-f59520228804"><i class="icon icon-download"> </i></a>
    <div class="file-feedback "></div>
    <div class="file-preview"><img src="blob:file:///3efb6b21-718c-48d2-8fa1-f59520228804"></div>
  </div>

更新以包含来自的评论

等待图像加载并注意
someimage
是jQuery对象

var someimage = $(".file-preview").find("img");
someimg.on("load", function () { 
    var canvas = document.createElement("canvas");
    canvas.width = someimage.width;
    canvas.height = someimage.height;
    canvas.getContext("2d").drawImage(someimage[0], 0, 0);
    dataURI = canvas.toDataURL();
}

错误消息是一个国宝,你不能透露?
someImage
是一个jQuery对象,你不能在画布上绘制jQuery对象。请注意,jQuery对象没有
onload
属性,你需要使用
。on('load',fn)
。类似地,
someimage
是一个jQuery对象,因此提供给
drawImage()
将导致错误。您需要
.drawImage(someimage[0],0,0)
var someimage = $(".file-preview").find("img");
someimg.on("load", function () { 
    var canvas = document.createElement("canvas");
    canvas.width = someimage.width;
    canvas.height = someimage.height;
    canvas.getContext("2d").drawImage(someimage[0], 0, 0);
    dataURI = canvas.toDataURL();
}