English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base NodeJS

NodeJS Express.js

NodeJS Buffer & URL;

NodeJS MySql

NodeJS MongoDB

NodeJS Fichier (FS)

Autres NodeJS

Téléchargement de fichier de Node.js

Node.js télécharge des fichiers sur le serveur

Téléchargement de fichiers Node.js– Dans ce tutoriel Node.js, nous allons apprendre à télécharger un fichier depuis un client Web vers un serveur Node.js. Autrement dit, le client peut télécharger un fichier sur un serveur Node.js.

Pour télécharger un fichier sur un serveur Node.js, suivez les instructions étape par étape suivantes :

  1. Modules nécessaires

    Dans cet exemple, nous utiliserons les modules http, fs et puissant.http:Pour les activités du serveur.Nœud fs:Enregistrez le fichier téléchargé à un emplacement spécifique sur le serveur.Puissant:Analysez les données du formulaire html. Si les modules ci-dessus ne sont pas installés, vous pouvez immédiatement utiliser NPM pour installer les modules. Exécutez les commandes suivantes dans le terminal pour installer les modules individuellement :

    npm install http npm install fs npm install formidable
  2. Préparez le formulaire HTML

    Préparez une page HTML (upload_file.html) avec le formulaire suivant, y compris des étiquettes d'entrée pour le téléchargement de fichiers et le soumission du formulaire.

    <form action="fileupload" method="post" enctype="multipart/form-data">
        <input type="file" name="filetoupload">
        <input type="submit" value="Upload">
    </form>
  3. Créez un serveur HTTP

    Créez un port d'écoute8086Serveur HTTP (vous pouvez changer le port), et fournissez deux URL comme suit :

    http.createServer(function (req, res) { 
        if (req.url == '/uploadform') { 
            // Si l'URL de la requête contient “ / uploadform”
            // Remplissez la réponse avec un fichier HTML contenant le tableau de téléchargement
        } else if (req.url == '}}/fileupload') { 
            // Si l'URL de la requête contient “ / fileupload”
            // Utilisez des modules puissants
            // Read form data (including uploaded files)
            // and save the file to a location.
          
     ).listen(8086);
  4. File saving

    Using powerful modules to parse form elements and save files to a certain location. After the file is uploaded, you may display a message indicating that the file upload was successful. Initially, the file is saved to a temporary location. We can use the fs.rename() method to move the file to the desired location with a new path.

    var form = new formidable.IncomingForm(); 
    form.parse(req, function(err, fields, files) { 
        // oldpath : dossier temporaire où le fichier est sauvegardé
        var oldpath = files.filetoupload.path; 
        var newpath = upload_path + files.filetoupload.name; 
        // Copier le fichier à un nouveau emplacement
        fs.rename(oldpath, newpath, function(err) { 
            if (err) throw err; 
            // Vous pourriez répondre avec une autre page html
            res.write('Fichier téléchargé et déplacé !'); 
            res.end(); 
         
     

Node.js File Upload Example

Below is a complete example of Node.js file upload

This example has two files as follows:

upload_file.html

<!DOCTYPE html>
<html>
<head>
<title>Upload File</title>
<style>
    body{text-align:center;} 
    form{display:block;border:1px solid black;padding:20px;} 
</style>
</head>
<body>
    <h1>Upload files to Node.js Server</h1>
 
    <form action="fileupload" method="post" enctype="multipart/form-data">
        <input type="file" name="filetoupload">
        <input type="submit" value="Upload">
    </form>
</body>
</html
var http = require('http'); 
var fs = require('fs'); 
var formidable = require('formidable'); 
 
// HTML file containing the upload form
var upload_html = fs.readFileSync("upload_file.html"); 
 
// Replace it with the location where the uploaded files will be saved
var upload_path = "/home/arjun/espace de travail/nodejs/upload_file/"; 
 
http.createServer(function (req, res) { 
    if (req.url == '/uploadform') { 
      res.writeHead;200); 
      res.write(upload_html); 
      return res.end(); 
    } else if (req.url == '}}/fileupload') { 
        var form = new formidable.IncomingForm(); 
        form.parse(req, function(err, fields, files) { 
            // oldpath : dossier temporaire où le fichier est sauvegardé
            var oldpath = files.filetoupload.path; 
            var newpath = upload_path + files.filetoupload.name; 
            // Copier le fichier à un nouveau emplacement
            fs.rename(oldpath, newpath, function(err) { 
                if (err) throw err; 
                // Vous pourriez répondre avec une autre page html
                res.write('Fichier téléchargé et déplacé !'); 
                res.end(); 
             
         
      
 ).listen(8086);

Exécutez le fichier de script Node.js dans un terminal avec des noeuds

arjun@w3codebox:~/espace de travail/nodejs/upload_file$ node nodejs-upload-file.js

Les fichiers téléchargés sont stockés dans le fichier node.js-upload-à côté de file.js. Vous pouvez modifier cet emplacement dans le fichier de script node.js.

Ouvrez un navigateur Web (client HTTP), puis cliquez sur l'URL http :// localhost :8086/uploadform

Cliquez sur Parcourir.

Sélectionnez un fichier, puis cliquez sur «Ouvrir».

Actuellement, le fichier a été téléchargé dans le formulaire. Cliquez sur le bouton Upload de Node.js pour analyser les éléments du formulaire et enregistrer le fichier.

Vérifiez le fichier de script Node.js adjacent au serveur Node.js.

arjun@w3codebox:~/espace de travail/nodejs/upload_file$ ls
blur1.jpg  nodejs-upload-file.js  upload_file.html

Résumé :

Dans ce tutoriel Node.js –  Télécharger des fichiers sur le serveur avec Node.js,nous avons appris à utiliser les modules puissants fs et http pour télécharger des fichiers sur le serveur Node.js.