Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menghantar gambar dalam nodejs

Bagaimana untuk menghantar gambar dalam nodejs

PHPz
PHPzasal
2023-04-19 15:20:571056semak imbas

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');
});

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');
});

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');
});

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!

Kenyataan:
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