BodyParser wird verwendet, um den vom Client angeforderten Inhalt in den Körper zu analysieren, und verwendet intern die Verarbeitung von JSON -Codierungsverarbeitung, die Verarbeitung von URL -Codierungsverarbeitungen und Datei -Upload -Verarbeitung.
Hier ist ein Beispiel für das Hochladen von Dateien.
Erstellen Sie eine 1.html -Seite
Die Codekopie lautet wie folgt:
<! DocType html>
<html>
<head Lang = "en">
<meta charset = "utf-8">
<titels> Laden Sie Dateien auf server </title> hoch.
<script type = "text/javaScript">
Funktion uploadFile () {
var formdata = new formData ();
var files = document.getElementById ("Dateien"). Dateien;
var File = Dateien [0];
FormData.Append ("myFile", Datei);
var xhr = new xmlhttprequest ();
xhr.open ("post", "index.html", true);
xhr.onload = Funktion (e) {
if (this.status == 200)
document.getElementById ("Ergebnis"). Innerhtml = this.Response;
};
Xhr.Send (FormData);
}
</script>
</head>
<body>
Bitte wählen Sie eine Datei aus: <Eingabe type = "Datei" id = "Dateien" name = "Datei" />
<input type = "button" value = "upload datei" onclick = "uploadFile ();" />
<div id = "result"> </div>
</body>
</html>
Das obige XMLHTTPREquest -Objekt und das FormData -Objekt werden nicht im Detail erläutert. Verwenden Sie diese beiden Objekte, um die vom Benutzer ausgewählten Dateien auf den Server hochzuladen.
Nach der Verwendung der Middleware von App.USE (Express.Bodyparser ()) auf der Serverseite die http.incomingMessage, die die Client -Anforderung darstellt, enthält das RES -Objekt über eine Dateieneigenschaft.
Server.js Nebencode:
Die Codekopie lautet wie folgt:
var express = required ("express");
var fs = require ("fs");
var app = express ();
app.use (express.bodyparser ());
app.get ("/index.html", function (req, res) {
res.sendfile (__ DirName+"/1.html");
});
app.post ("/index.html", function (req, res) {
var file = req.files.myFile;
fs.ReadFile (Datei.Path, Funktion (Err, Daten) {
if (err) res.send ("Lesendateioperation fehlgeschlagen");
anders{
fs.writeFile (Datei.name, Daten, Funktion (err) {
if (err) res.send ("Dateischreibvorgang fehlgeschlagen.");
sonst res.send ("Datei erfolgreich hochladen");
})
}
});
});
app.Listen (1337, "127.0.0.1", function () {
console.log ("Start Hören");
});
Führen Sie nach dem Start des Servers den Browser aus:
Wählen Sie eine Datei aus:
Das Wort Upload -Erfolg wird im Browser angezeigt.
Es gibt auch Dateien, die wir auf der Serverseite hochgeladen haben.
Nach dem Klicken auf Upload:
Darüber hinaus kann Bodyparse JSON -Daten akzeptieren, die vom Client Ajax und der Verarbeitung von URL eingereicht wurden.