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