Maison  >  Article  >  interface Web  >  Comment télécharger des données dans nodejs

Comment télécharger des données dans nodejs

PHPz
PHPzoriginal
2023-05-24 10:57:36858parcourir

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

Le code ci-dessus utilise les modules intégrés http et querystring de Node.js. Dans cet exemple, nous créons un serveur et écoutons une adresse pour gérer les demandes de données de formulaire. Lorsque nous soumettons les données du formulaire, la demande sera envoyée au serveur, et le serveur écoutera l'événement des données de la demande via la méthode on() et utilisera le module querystring pour analyser les données de la demande.

Dans cet exemple, nous analysons simplement les données du formulaire et imprimons les résultats sur la console. Dans des applications pratiques, nous pouvons avoir besoin de stocker ces données dans une base de données ou de les envoyer à d'autres endroits pour traitement.

Summary

Cet article présente principalement 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. Lors du téléchargement de fichiers, vous devez utiliser le formulaire multipart/form-data, mais le téléchargement des données du formulaire ne nécessite pas le téléchargement de fichiers. Vous devez uniquement inclure les noms des champs du formulaire et les valeurs des champs dans les données de la demande. En apprenant ces méthodes, nous pouvons mieux gérer la nécessité de télécharger des données dans Node.js.

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