簡體   English   中英

使用 API 返回圖像 - 純 NodeJS(無 Express)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM