Nodejs implémente le téléchargement de fichiers

WBOY
Libérer: 2023-05-27 22:40:07
original
2922 Les gens l'ont consulté

Node.js est un environnement d'exécution JavaScript populaire qui permet aux développeurs d'écrire des applications côté serveur à l'aide de JavaScript. Dans cet article, nous apprendrons le processus de téléchargement de fichiers à l'aide de Node.js.

Pour les applications Web qui doivent télécharger des fichiers, Node.js peut utiliser les méthodes suivantes :

1. Utilisez le module HTTP natif

En utilisant le module HTTP fourni avec Node.js, nous pouvons écrire du code pour gérer le téléchargement de fichiers. demander. Voici un exemple simple :

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

http.createServer((req, res) => {
  if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
    const form = formidable({ multiples: true });
    form.parse(req, (err, fields, files) => {
      if (err) {
        console.log(err);
      } else {
        console.log(files);
      }
      res.end();
    });
  } else {
    res.writeHead(200, { 'Content-Type': 'text/html' });
    res.write('<form action="/upload" method="post" enctype="multipart/form-data">');
    res.write('<input type="file" name="file"><br><br>');
    res.write('<input type="submit">');
    res.write('</form>');
    return res.end();
  }
}).listen(8080);
Copier après la connexion

Dans cet exemple, nous utilisons le module tiers formidable pour gérer plus facilement les requêtes multipart/form-data. Lorsque nous accédons au serveur à l'aide d'un navigateur, il affichera un formulaire avec un sélecteur de fichiers et un bouton de soumission. Lorsque nous sélectionnons le fichier et cliquons sur le bouton de soumission, la demande de soumission sera traitée et le code imprimera le fichier téléchargé sur la console.

2. Utiliser Express Framework

Les téléchargements de fichiers peuvent être gérés plus facilement à l'aide du framework Express. Voici un exemple utilisant le middleware multer :

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

const app = express();
const upload = multer({ dest: 'uploads/' });

app.get('/', (req, res) => {
  res.sendFile(__dirname + '/index.html');
});

app.post('/upload', upload.single('file'), (req, res) => {
  console.log(req.file);
  res.send('File uploaded successfully.');
});

app.listen(8080);
Copier après la connexion

Dans cet exemple, nous utilisons un middleware appelé multer pour traiter les fichiers téléchargés. Lorsque nous sélectionnons un fichier sur la page Web et le soumettons, le fichier sera téléchargé dans le répertoire spécifié (dans cet exemple, le répertoire de téléchargement) et les informations sur le fichier seront imprimées sur la console.

3. Utilisez d'autres bibliothèques tierces

Node.js possède de nombreuses autres bibliothèques tierces qui peuvent être utilisées pour gérer les téléchargements de fichiers, telles que form-data, busboy, multiparty, etc. L'utilisation de ces bibliothèques facilite la gestion des téléchargements de fichiers, tout en rendant votre code plus lisible et plus maintenable.

Résumé

Node.js propose plusieurs façons de gérer les téléchargements de fichiers. Nous pouvons utiliser des modules HTTP natifs, le framework Express ou d'autres bibliothèques tierces pour gérer les demandes de téléchargement de fichiers. Quelle que soit la méthode que vous choisissez, vous devez vous assurer que votre code est lisible et maintenable.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!