Мне нужна помощь:
Я использую экспресс в узле JS и пытаюсь передать изображение через HTTP-запрос и / или ответ
Экспресс-инициализация:
var app = express();
app.engine('.html', require('ejs').__express);
app.set('views', __dirname + '/views');
app.set('view engine', 'html');
app.use(express.static(__dirname + '/public'));
app.use(bodyParser.text({type:'text/plain'}));
Http-запрос (ajax внутри index.html):
var request = new XMLHttpRequest();
request.open('GET', '/request');
request.setRequestHeader('Content-Type', 'text/plain');
request.onreadystatechange = function() {
if(request.readyState == 4){
//do stuff with request.responseText
}
};
request.send('request for image xxxx');
Экспресс-обработка запроса:
app.get('/request', (req, res) => {
if(req.body == 'request for image xxxx')
res.status(200).send(???);
//other stuff
});
Мое промежуточное ПО 'bodyParser' поддерживает другие типы данных, если они закодированы в URL, но я понятия не имею, как это сделать, поэтому я вынужден использовать только текстовые / простые сообщения, кроме случаев, когда возникает проблема когда я хочу отправить изображение более.
Полагаю, я мог бы, вероятно, сделать это, используя буферы, но я абсолютно не представляю, какой будет синтаксис для этого, и синтаксис обработки HTTP, который я уже использую, вероятно, чрезмерно сложен или что-то в этом роде. Я совершенно новичок в протоколах HTTP.