私はjpeg画像を読み込んで表示する方法の例を見つけようとしています。
var http = require('http'), fs = require('fs');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
fs.readFile('image.jpg', function (err, data) {
if (err) throw err;
res.write(data);
});
res.end();
}).listen(8124, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8124/');
次のコードを試してみましたが、エンコーディングをバッファとして設定する必要があると思います。 console.logを使用して、データの「オブジェクト」を出力します。
ファイルの内容全体を読み取る方法を次に示します。正常に完了した場合は、すべてのリクエストに応じてJPGイメージを表示するWebサーバーを起動します。
var http = require('http')
, fs = require('fs');
fs.readFile('image.jpg', function(err, data) {
if (err) throw err; // Fail if the file can't be read.
http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'image/jpeg'});
res.end(data); // Send the file data to the browser.
}).listen(8124);
console.log('Server running at http://localhost:8124/');
});
サーバーは「readFile」コールバック関数によって起動され、応答ヘッダーにはContent-Type: image/jpeg
があることに注意してください。
[編集]<img>
と dataを使用して、HTMLページに画像を直接埋め込むこともできます。 URIソース 。例えば:
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<html><body><img src="data:image/jpeg;base64,')
res.write(Buffer.from(data).toString('base64'));
res.end('"/></body></html>');
留意すべき2つの点Content-TypeとEncoding
1)ファイルがcssの場合
if (/.(css)$/.test(path)) {
res.writeHead(200, {'Content-Type': 'text/css'});
res.write(data, 'utf8');
}
2)ファイルがjpg/pngの場合
if (/.(jpg)$/.test(path)) {
res.writeHead(200, {'Content-Type': 'image/jpg'});
res.end(data,'Base64');
}
上記は、正確なコードパターンではなく、答えを説明するための単なるサンプルコードです。