Javascript 如何将img的二进制数据转换为img标签

Javascript 如何将img的二进制数据转换为img标签,javascript,html,filesystems,Javascript,Html,Filesystems,全部 我得到了图像的二进制数据(使用xhr),让我们把这个二进制数据命名为data 我想知道如何将数据转换成真正的img标签 起初: 我尝试使用FileReder读取二进制字符串,但它不起作用,因为阅读器。onloadend不会启动 还有其他方法可以完成这项工作吗? 提前谢谢~ $.ajax({ url:src, type:"GET", success:function(data){ v

全部
我得到了图像的二进制数据(使用xhr),让我们把这个二进制数据命名为data
我想知道如何将数据转换成真正的img标签
起初:
我尝试使用FileReder读取二进制字符串,但它不起作用,因为阅读器。onloadend不会启动

还有其他方法可以完成这项工作吗?
提前谢谢~

 $.ajax({
                url:src,
                type:"GET",
                success:function(data){  
    var reader=new FileReader()
    reader.onload=function(e){

        var data=e.target.result
        console.log(data)

   } 
  reader.readAsDataURL(data)

您可能应该调用
readAsDataURL
并使用
load
事件

var reader = new FileReader();

reader.onload = function (e) {
  var img = new Image();
  img.src = e.target.result;
};
reader.readAsDataURL(file);

Base64对二进制数据进行编码。有关如何在JavaScript中以64位二进制数据为基础的信息,请参见本文

然后将base64字符串直接插入图像标记中。例如,如果二进制数据是JPG图像,您可以这样做(理论上):


请尝试
reader.onload
(对我来说很好)。将其转换为Base64,然后直接连接到img src-数据:image/jpg;base64,DATA@ComFreek,我已经试过了,还是same@JohnStrickler,我输入了我的部分代码,你是这么想的吗?@Lanston看到我下面的答案,我点击了要点并留下了一些家庭作业。我从一开始就试过了,问题是reader.onload没有激发Hi,我试过这个,但我得到的是相同的“base64”和这个“base64”很奇怪,与右脚不同64
$.ajax({
  url:src,
  type:"GET",
  success:function(binaryData) {  

    //toBase64 is a made up function, see above
    var base64Data = toBase64(binaryData);

    //assuming img is defined outside of here (not in the scope of this question)
    img.src = "data:image/jpg;base64," + base64Data;
  }
});