所有
我得到了图像的二进制数据(使用xhr),我们将这个二进制数据命名为数据
我想知道如何将数据转换为真正的img标签
起初:
我尝试将 FileReder 用于 readAsBinaryString ,但它不起作用,因为 reader.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)
...
答案 0 :(得分:0)
您应该致电readAsDataURL
并改为使用load
事件。
var reader = new FileReader();
reader.onload = function (e) {
var img = new Image();
img.src = e.target.result;
};
reader.readAsDataURL(file);
答案 1 :(得分:0)
Base64对二进制数据进行编码。请参阅此question,了解如何在JavaScript中使用base64二进制数据。
然后将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;
}
});