Node.js est un interpréteur JavaScript côté serveur efficace, couramment utilisé pour créer des applications Web hautes performances, évolutives et extensibles. Dans Node.js, le téléchargement de données est l'une des tâches courantes, qui est principalement réalisée via des requêtes HTTP et des téléchargements de fichiers.
Cet article explique comment télécharger des données dans Node.js, y compris le téléchargement de fichiers et le téléchargement de données de formulaire.
1. Node.js télécharger des fichiers
Dans Node.js, le téléchargement de fichiers via le formulaire multipart/form-data est une méthode courante. Cette approche nous permet de télécharger des fichiers de différents types et tailles et de les stocker côté serveur. Ce qui suit est un exemple simple de téléchargement de fichiers :
const http = require('http'); const fs = require('fs'); const formidable = require('formidable'); http.createServer(function (req, res) { if (req.url == '/upload' && req.method.toLowerCase() == 'post') { var form = new formidable.IncomingForm(); form.parse(req, function (err, fields, files) { var oldpath = files.filetoupload.path; var newpath = 'C:/Users/Username/' + files.filetoupload.name; fs.rename(oldpath, newpath, function (err) { if (err) throw err; res.write('File uploaded and moved!'); 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="filetoupload"><br>'); res.write('<input type="submit">'); res.write('</form>'); return res.end(); } }).listen(8080);
Le code ci-dessus utilise le formidable module de Node.js, qui peut nous aider à traiter les fichiers téléchargés. Dans ce code, nous créons un serveur et écoutons une adresse. Lors du téléchargement de fichiers, nous appelons la méthode IncomingForm() de formidable et analysons les données téléchargées via la méthode parse().
Une fois le téléchargement réussi, déplacez le chemin temporaire du fichier (oldpath) vers le nouveau chemin (newpath) et lancez une exception s'il y a une erreur.
2. Node.js télécharge les données du formulaire
Dans Node.js, si vous n'avez pas besoin de télécharger des fichiers mais uniquement des données de formulaire, vous pouvez utiliser l'outil méthode suivante : # 🎜🎜#
const http = require('http'); http.createServer(function (req, res) { if (req.url == '/upload' && req.method.toLowerCase() == 'post') { var body = ''; req.on('data', function (data) { body += data; }); req.on('end', function () { var post = qs.parse(body); console.log(post); res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('ok'); }); } else { res.writeHead(200, {'Content-Type': 'text/html'}); res.write('<form action="upload" method="post">'); res.write('<input type="text" name="name"><br>'); res.write('<input type="text" name="age"><br>'); res.write('<input type="submit">'); res.write('</form>'); return res.end(); } }).listen(8080);
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!