[英]Return image using API - Pure NodeJS (no Express)
我試圖在用戶連接到服務器 ip 地址時返回圖像,簡而言之,創建一個返回圖像的 API。
我找到了這個可行的解決方案,但是現在我不知道為什么它不起作用。
我不想使用 Express 或類似的。
更新
沒有res.end()
它可以工作,但我不明白為什么。
import http from 'http';
import mime from 'mime';
import fs from 'fs';
const hostname = '127.0.0.1';
const port = 8000;
const server = http.createServer((req, res) => {
res.writeHead(200, { 'content-type': mime.getType('./tmp/screenshot.png') });
fs.createReadStream('./tmp/screenshot.png').pipe(res);
res.end();
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
在:
fs.createReadStream('./tmp/screenshot.png').pipe(res);
您已經添加了一個pipe
在服務器和客戶端之間發送數據,並且在完成發送數據后,它會自動觸發end()
事件。 如果你不想要這種行為。 就這樣做
fs.createReadStream('./tmp/screenshot.png').pipe(res, {end:false});
我希望它對你有幫助:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.