BodyParser est utilisé pour analyser le contenu du corps demandé par le client et utilise en interne le traitement de l'encodage JSON, le traitement du codage d'URL et le traitement de téléchargement de fichiers.
Voici un exemple de téléchargement de fichiers.
Créer une page 1.html
La copie de code est la suivante:
<! Doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<Title> Téléchargez des fichiers sur serveur </TITME>
<script type = "text / javascript">
fonction uploadfile () {
var formdata = new formData ();
var fichiers = document.getElementById ("fichiers"). fichiers;
var fichier = fichiers [0];
formdata.append ("myFile", fichier);
var xhr = new xmlHttpRequest ();
xhr.open ("post", "index.html", true);
xhr.onload = fonction (e) {
if (this.status == 200)
document.getElementById ("result"). innerHtml = this.Response;
};
xhr.send (formdata);
}
</cript>
</ head>
<body>
Veuillez sélectionner un fichier: <input type = "file" id = "files" name = "file" />
<entrée type = "bouton" value = "Fichier de téléchargement" onClick = "uploadFile ();" />
<div id = "result"> </div>
</docy>
</html>
L'objet XmlHttpRequest ci-dessus et l'objet FormData ne sont pas expliqués en détail. Utilisez ces deux objets pour télécharger les fichiers sélectionnés par l'utilisateur sur le serveur.
Après avoir utilisé le middleware app.use (express.bodyParser ()) côté serveur, le http.incomingMessage, qui représente la demande du client, c'est-à-dire que l'objet Res a une propriété de fichiers.
Code latéral server.js:
La copie de code est la suivante:
var express = require ("express");
var fs = require ("fs");
var app = express ();
app.use (express.bodyParser ());
app.get ("/ index.html", fonction (req, res) {
res.sendFile (__ dirname + "/ 1.html");
});
app.post ("/ index.html", fonction (req, res) {
var file = req.files.myfile;
fs.readfile (file.path, fonction (err, data) {
if (err) res.send ("Lire le fonctionnement du fichier a échoué");
autre{
fs.writeFile (file.name, data, fonction (err) {
if (err) res.send ("L'opération d'écriture de fichiers a échoué.");
else res.send ("le téléchargement de fichiers réussi");
})
}
});
});
app.Listen (1337, "127.0.0.1", fonction () {
console.log ("commencer à écouter");
});
Après avoir démarré le serveur, exécutez le navigateur:
Sélectionnez un fichier:
Le succès du mot de téléchargement apparaît sur le navigateur.
Il y a aussi des fichiers que nous avons téléchargés du côté serveur.
Après avoir cliqué sur Télécharger:
De plus, BodyParse peut accepter les données JSON soumises par le client Ajax et le traitement de l'URL.