我是认真的。这让我发疯了。
我想显示来自服务器(nodejs)的原始数据的图像
节点js代码就是这样
fs.readdir(testFolder, (err, files) => {
files.forEach(file=>{
let file_name="./uploads/"+file;
let data=fs.readFileSync(file_name);
arr.push(data)
})
})
,然后发送图像数组的原始数据。
如
[{“ type”:“ Buffer”,“ data”:[137,80,78,71,13,10,26,10,0,0,0,13,...]},
{“ type”:“ Buffer”,“ data:....,}]
我认为这是原始数据。所以我尝试将其编码为base64
然后创建图像对象。
这是JavaScript代码。
function alertContents(){
if(xhr.readyState===XMLHttpRequest.DONE){
if(xhr.status===200){
let object=JSON.parse(xhr.response);
let base=btoa(object[0].data.toString());
console.log(base)
let image=new Image();
image.src=`data:image/png; base64,${base}`
document.body.appendChild(image);
}else{
alert(` :'( `);
}
}
}
这是HTML。
<body>
<button id="ajaxButton" type="button" onclick="makeRequest()"> HI </button>
</body>
但是它不能正常工作。没有错误,但没有加载图像。
你能帮我吗? :'(
认真地说,我努力解决了几个小时。
但这对我来说真的很困难