nodejs - 输出图像数组

时间:2011-07-23 04:49:04

标签: node.js

我有以下请求处理程序...

function images(res) {

    fs.readdir("./img", function(err, files) {
        if (err) throw err;
        var results = [];

        files.forEach(function(file) {
            var dot = file.lastIndexOf(".") + 1,
                ext = file.substr(dot, file.length),
                fmt = ["jpg", "png", "gif"];

            if (fmt.indexOf(ext) > -1)
                   results.push(file);
            }
        });

        showImages(results);
    });

    function showImages(images) {
        res.writeHead(200, {"Content-Type" : "text/html"});
        for (i = 0; i < images.length; i++) {
            res.write("<img src='http://127.0.0.1:8888/img/" + images[i] + "' />");
        }
        res.end();
    }
}

当调用时,输出以下HTML ...

<html>
    <head></head>
    <body>
        <img src='http://127.0.0.1:8888/img/image01.jpg' />
        <img src='http://127.0.0.1:8888/img/image02.png' />
        <img src='http://127.0.0.1:8888/img/image03.png' />
    </body>
</html>

由于某种原因,图像未显示。关于为什么的任何想法?

感谢。

1 个答案:

答案 0 :(得分:0)

如果您使用快递,则需要将文件从./img移至./public/img。否则,您需要设置静态文件。