English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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 :
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 |
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>
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);
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();
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
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.