Как отобразить картинку на веб-сервере, когда pythonscript сохраняет ее в файлы? - PullRequest
1 голос
/ 10 июля 2019

Я пытаюсь разработать сервер на ПК для удаленного выполнения измерений.Я решил попробовать сделать это в реакции, что оказалось гораздо сложнее для меня, чем я думал вначале.

У меня есть один файл сервера (server.js), один компонент App.js и файл html.В файле server.js я запускаю скрипты на python, которые выполняют измерения.Скрипт python сохраняет график в файл (img) каждые несколько секунд, и я хотел бы отображать его на веб-странице всякий раз, когда появляется обновленное изображение.

В настоящее время я использую Python Shell для запуска скрипта, он отлично работает для отправки аргументов скрипту, и я также могу отображать некоторые отзывы, используя res.send(args).Проблема в том, что я не могу использовать функцию renderDOM в файле сервера, и именно так я рендеринг всех других вещей на странице, которую я создал в файле App.js.

Я попытался создать компонент Showresults.js, который использовал «RenderDOM» для рендеринга изображения, но, очевидно, это отрисовывалось только один раз, потому что я не могу вызвать его из server.js.Очень неприятно не понимать, как запустить рендеринг без нажатия кнопки.

Структура файла App.js

class App extends React.Component{

constructor(props){
super(props);
 this.state = {
     mystate: ""
 }
}
 this.handle_state = this.handle_state.bind(this);

 handle_state(event){
 this.setState{( mystate = event.target.value )}


render(){
return(
    <div>
      <button onclick={handle_state}>Click me</button>
    </div>
  });
 }
}
ReactDOM.render(App, document.getElementById('root'));

Структура файла Server.js

var express = require('express');
var app = express();

app.get('/myscriptpath', function (req, res) {
   var pythonProcess = Pythonshell.run('myscript.py', args);

    pythonProcess.stdout.on('data', (data) => {
    res.send(data);
});


   });

Таким образом, res.send отображает распечатки из сценариев Python, но как это сделать?Я действительно обновляю страницу новой картинкой из файла несколько раз?Если я не могу сделать компонент, который отображает изображение, и вызвать его в server.js?Я буду очень рад за любой ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...