如何在node.js中串行显示文件夹的所有图像

时间:2014-08-21 16:10:29

标签: node.js image displayobject

我在文件夹中有51张图像如何连续显示所有图像?代码如下。

var i = "hamarabajaj_"; 
var p = 0; 
var q = 0; 
var r = ".png"; 
var http = require('http'),
    fs = require('fs'); 

p = p+1; 
q = i+p+r; 
fs.readFile('/home/bidya271/Documents/Health_Monitor/pictures/'+q, function(err, data) {                                  
    if (err) throw err; 
    http.createServer(function(req, res) {
        res.writeHead(200, {'Content-Type': 'image/jpeg'});     
        res.end(data); // Send the file data to the browser.
    }).listen(8124);    
    console.log('Server running at http://localhost:8124/');      
});

1 个答案:

答案 0 :(得分:3)

我不完全确定你的目标是什么,但是不可能“连续”地将图像从HTTP服务器发送到客户端。但是,您可以创建一个服务器来接收来自客户端的请求并按需返回图像。

以下是基于图像前缀提供图像的服务器示例:

var express = require("express"),
    app = express(),
    imageDir = __dirname + "/pictures/",
    imageSuffix = "-image.png",
    fs = require("fs");

app.get("/images/:id", function (request, response) {
    var path = imageDir + request.params.id + imageSuffix;

    console.log("fetching image: ", path);
    response.sendFile(path);
});


app.listen(8080);

上面的代码使用Express轻松引导Web服务器;您可以使用npm install express安装它。

假设您将图片添加到“图片”文件夹,您可以通过点击以下网址在浏览器中请求图片:

http://localhost:8080/images/0

将返回pictures/0-image.png处的图片。 /1将返回1-image.png,依此类推。