Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Bagaimana untuk menghantar gambar dalam nodejs
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,' + img + '"/>'); } 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!