我正在尝试显示我的 index.html 中的图片。这保存在<img
标记中,每当我的服务器调用 index.html 文件时,其中包含的所有文件路径也会通过检查自己的服务来加载。
所有类型的文件,例如 js , css 和 html 正在加载,但是当涉及到img文件时,它未在浏览器上加载,并且在控制台中没有错误。
图像的路径是正确的。我正在使用fs.readFile()
加载设置为 image / png 的文件内容类型,因为我的图片文件为.png
。
有谁能让我清楚这里发生了什么?
答案 0 :(得分:0)
感谢Pankaj Jatav,因为html img标签是base64解码器,我们的fs.readFile()编码器必须是base64,因为默认节点在fs.readFile或writeFile中有utf-8作为编码器我们必须提到编码类型as base64 for images
fs.readFile(filepath, 'base64', (err, file) => {
if (err) {
res.writeHead(500, { 'Content-Type': 'image/png' });
res.write(err);
res.end();
return;
}
res.writeHead(200 , { 'Content-Type': 'image/png' });
res.end(file,'base64');
});
这对我有用。