Bagaimana untuk menghantar gambar dalam nodejs

PHPz
Lepaskan: 2023-04-19 15:21:57
asal
1088 orang telah melayarinya

Node.js ialah persekitaran berjalan JavaScript sebelah pelayan yang sangat popular, yang membenarkan pembangun menggunakan bahasa JavaScript untuk pembangunan aplikasi sebelah pelayan. Artikel ini akan memperkenalkan cara menghantar imej dalam Node.js.

1 Gunakan modul HTTP Node.js

Modul HTTP yang disertakan dengan Node.js membolehkan kami membuat dan memproses pelayan dan klien HTTP. Kami boleh menghantar imej menggunakan modul ini. Berikut ialah contoh kod:

const http = require('http');
const fs = require('fs');

http.createServer(function(req, res) {
  res.writeHead(200, {'Content-Type': 'image/png'});
  fs.readFile('image.png', function(err, data) {
    if (err) {
      res.writeHead(404);
      res.write("File not found");
    } else {
      res.write(data);
    }
    res.end();
  });
}).listen(8080, function() {
  console.log('Server listening on http://localhost:8080');
});
Salin selepas log masuk

Kod ini mencipta pelayan HTTP Apabila permintaan datang, ia membaca fail image.png setempat dan menghantarnya sebagai kandungan respons HTTP.

2. Gunakan modul pihak ketiga

Anda boleh menggunakan modul pihak ketiga untuk memudahkan proses menghantar gambar. Salah satu modul yang popular ialah express. Berikut ialah contoh:

const express = require('express');
const fs = require('fs');

const app = express();

app.get('/', function(req, res) {
  fs.readFile('image.png', function(err, data) {
    if (err) {
      res.writeHead(404);
      res.write("File not found");
    } else {
      res.writeHead(200, {'Content-Type': 'image/png'});
      res.write(data);
    }
    res.end();
  });
});

app.listen(8080, function() {
  console.log('Server listening on http://localhost:8080');
});
Salin selepas log masuk

Contoh ini menggunakan modul express untuk mencipta pelayan HTTP yang mengendalikan permintaan GET daripada pelanggan dan bertindak balas kepada fail image.png.

3. Gunakan pengekodan Base64

Kaedah lain ialah membenamkan imej dalam respons HTML dengan menggunakan pengekodan Base64. Berikut ialah contoh kod:

const http = require('http');
const fs = require('fs');

http.createServer(function(req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  fs.readFile('image.png', function(err, data) {
    if (err) {
      res.writeHead(404);
      res.write("File not found");
    } else {
      const img = Buffer.from(data).toString('base64');
      res.write('<img src="data:image/png;base64,&#39; + img + &#39;"/>');
    }
    res.end();
  });
}).listen(8080, function() {
  console.log('Server listening on http://localhost:8080');
});
Salin selepas log masuk

Contoh ini membaca fail image.png ke dalam memori, kemudian menukarnya kepada format yang dikodkan Base64 dan membenamkannya dalam HTML untuk memaparkan imej pada klien.

Ringkasan

Di atas ialah langkah dan kod sampel yang diperlukan untuk menghantar imej dalam Node.js. Kami boleh menggunakan modul HTTP yang disertakan dengan Node.js untuk menghantar imej, atau kami boleh menggunakan modul pihak ketiga seperti express Pada masa yang sama, kami juga boleh menggunakan pengekodan Base64 untuk membenamkan imej ke dalam respons HTML.

Atas ialah kandungan terperinci Bagaimana untuk menghantar gambar dalam nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!