如何通过从节点服务器获取图像?

时间:2017-02-16 12:32:49

标签: html css node.js

我正在尝试显示我的 index.html 中的图片。这保存在<img标记中,每当我的服务器调用 index.html 文件时,其中包含的所有文件路径也会通过检查自己的服务来加载。

所有类型的文件,例如 js css html 正在加载,但是当涉及到img文件时,它未在浏览器上加载,并且在控制台中没有错误。

图像的路径是正确的。我正在使用fs.readFile()加载设置为 image / png 的文件内容类型,因为我的图片文件为.png

有谁能让我清楚这里发生了什么?

1 个答案:

答案 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');
   });

这对我有用。