BodyParser se utiliza para analizar el contenido en el cuerpo solicitado por el cliente, y utiliza internamente el procesamiento de codificación JSON, el procesamiento de codificación de URL y el procesamiento de carga de archivos.
Aquí hay un ejemplo de carga de archivos.
Crear una página 1.html
La copia del código es la siguiente:
<! Doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<title> cargar archivos al servidor </title>
<script type = "text/javaScript">
function uploadFile () {
var formData = new FormData ();
var files = document.getElementById ("archivos"). archivos;
VAR file = archivos [0];
formdata.append ("myfile", archivo);
var xhr = new xmlhttprequest ();
xhr.open ("post", "index.html", true);
xhr.onload = function (e) {
if (this.status == 200)
document.getElementById ("resultado"). innerhtml = this.Response;
};
XHR.SEND (FormData);
}
</script>
</ablo>
<Body>
Seleccione un archivo: <input type = "file" id = "files" name = "archivo" />
<input type = "button" valor = "archivo de carga" onClick = "uploadFile ();" />
<div id = "resultado"> </div>
</body>
</html>
El objeto XMLHTTPREQUEST anterior y el objeto FormData no se explican en detalle. Use estos dos objetos para cargar los archivos seleccionados por el usuario en el servidor.
Después de usar el middleware App.use (Express.BodyParser ()) en el lado del servidor, el http.incomingMessage, que representa la solicitud del cliente, es decir, el objeto RES tiene una propiedad de archivos.
Código lateral de server.js:
La copia del código es la siguiente:
var express = request ("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 (file.path, function (err, data) {
if (err) res.send ("Leer la operación del archivo fallido");
demás{
fs.WriteFile (file.name, data, function (err) {
if (err) res.send ("Falló la operación de escritura de archivos");
else res.send ("Carga de archivo con éxito");
})
}
});
});
app.listen (1337, "127.0.0.1", function () {
console.log ("Comience a escuchar");
});
Después de comenzar el servidor, ejecute el navegador:
Seleccione un archivo:
El éxito de la palabra subida aparece en el navegador.
También hay archivos que cargamos en el lado del servidor.
Después de hacer clic en la carga:
Además, BodyParse puede aceptar datos JSON enviados por el cliente AJAX y el procesamiento de URL.