Обновление изображения с помощью NodeJS - PullRequest
0 голосов
/ 07 марта 2019

Кто-нибудь может направить меня в правильном направлении?

У меня есть приложение 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 ]

1 голос
/ 07 марта 2019

Вы можете использовать reload для автоматического обновления страницы со стороны сервера.Это может быть полезно для вас.Как перезагрузить вручную объясняется в документации.

reloadServer = reload(app);
watch.watchTree(__dirname + "/public", function (f, curr, prev) {
// Fire server-side reload event
reloadServer.reload();
});
0 голосов
/ 07 марта 2019

Посмотрите на 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)
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...