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

how to convert the binarydata of img to img tags

本文关键字:img 转换 标记 数据 二进制      更新时间:2023-09-26

所有
我得到了图像的二进制数据(使用xhr(,让我们将此二进制数据命名为data
我想知道如何将数据转换为真正的img标记
起初:
我尝试使用FileRederreadAsBinaryString,但它不起作用,因为阅读器。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图像,您可以这样做(理论上(:

$.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;
  }
});