[英]Express Node JS + HTTP Protocols: Sending image over request/response
我需要幫助:我在節點JS中運行express,並且試圖通過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請求(index.html內的ajax):
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協議很陌生。
您可以將圖像編碼為base64並將其作為文本發送。 在服務器上收到后,將其寫為映像。
var base64Data = 'base64encoded'
require("fs").writeFile("image.png", base64Data, 'base64', function(err) {
console.log(err);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.