使用NodeJS更新图像

时间:2019-03-07 03:30:37

标签: javascript node.js express

有人可以引导我朝正确的方向前进吗?

我有一个NodeJS应用程序正在显示图像。映像(保存在本地目录中)在一定时间后通过OpenCV脚本进行更新。但是,更新图像后,直到刷新页面后,更新才会显示在我的应用程序中。有谁知道我如何自动更新图像?

这是我将目录中的图像作为静态文件提供的方式:

var express = require('express');
var app = express();    
var publicDir = require('path').join(__dirname,'/public');
app.use(express.static(publicDir));

使用上面的代码,我可以使用以下目录访问我的图像: http://localhost/images/myImage.jpg

有人知道我如何自动更新图像吗?还是为我的用例推荐一些不同的东西?我不知道我解决这个问题的方法是否正确。

2 个答案:

答案 0 :(得分:1)

您可以使用reload从服务器端自动刷新页面。这可能对您有帮助。 文档中说明了如何手动重新加载。

reloadServer = reload(app);
watch.watchTree(__dirname + "/public", function (f, curr, prev) {
// Fire server-side reload event
reloadServer.reload();
});

答案 1 :(得分:0)

看看Socket.IO http://socket.io/#how-to-use

当服务器决定广播更改用途时:

io.sockets.emit('update-msg', { data: 'this is the data'});

在客户端上首先连接socket.io,然后等待“ update-msg”事件并更新您的dom:

var socket = io.connect('http://localhost');
socket.on('update-msg', function (msg) {
    console.log(msg);
    $('#mydiv').html(msg.data)
});