Maison  >  Article  >  interface Web  >  Comment envoyer des images dans nodejs

Comment envoyer des images dans nodejs

PHPz
PHPzoriginal
2023-04-19 15:20:571056parcourir

Node.js est un environnement d'exécution JavaScript côté serveur très populaire, qui permet aux développeurs d'utiliser le langage JavaScript pour le développement d'applications côté serveur. Cet article explique comment envoyer des images dans Node.js.

1. Utilisez le module HTTP de Node.js

Le module HTTP fourni avec Node.js nous permet de créer et de traiter des serveurs et des clients HTTP. Nous pouvons envoyer des images en utilisant ce module. Voici un exemple de code :

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

Ce code crée un serveur HTTP Lorsqu'une requête arrive, il lit le fichier image.png local et l'envoie comme contenu de la réponse HTTP.

2. Utiliser des modules tiers

Vous pouvez utiliser des modules tiers pour simplifier le processus d'envoi de photos. L'un des modules les plus populaires est express. Voici un exemple : express。下面是一个示例:

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

这个示例使用express模块创建了一个HTTP服务器,处理客户端的GET请求并响应image.png文件。

3.使用Base64编码

另一种方法是通过使用Base64编码将图像嵌入HTML响应中。下面是一个示例代码:

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

这个示例将image.png文件读入内存中,然后将其转换为Base64编码格式并嵌入HTML中,以便在客户端上显示图像。

总结

以上是在Node.js中发送图片所需要的步骤和示例代码。我们可以使用Node.js自带的HTTP模块发送图片,也可以使用第三方模块如expressrrreee

Cet exemple utilise le module express pour créer un serveur HTTP qui gère les requêtes GET des clients et répond aux fichiers image.png. 🎜🎜3. Utilisez l'encodage Base64 🎜🎜Une autre méthode consiste à intégrer l'image dans la réponse HTML en utilisant l'encodage Base64. Voici un exemple de code : 🎜rrreee🎜Cet exemple lit le fichier image.png en mémoire, puis le convertit au format codé Base64 et l'intègre en HTML pour afficher l'image sur le client. 🎜🎜Résumé🎜🎜Ci-dessus sont les étapes et l'exemple de code requis pour envoyer des images dans Node.js. Nous pouvons utiliser le module HTTP fourni avec Node.js pour envoyer des images, ou nous pouvons utiliser des modules tiers tels que express. En même temps, nous pouvons également utiliser l'encodage Base64 pour intégrer des images. Réponses HTML. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn