O BodyParser é usado para analisar o conteúdo no corpo solicitado pelo cliente e usa internamente o processamento de codificação JSON, o processamento de codificação de URL e o processamento de upload de arquivos.
Aqui está um exemplo de upload de arquivo.
Crie uma página 1.html
A cópia do código é a seguinte:
<! Doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<title> Faça o upload de arquivos para o servidor </title>
<script type = "text/javascript">
function uploadfile () {
var formData = new FormData ();
var arquivos = document.getElementById ("arquivos"). arquivos;
var arquivo = arquivos [0];
formData.append ("myfile", arquivo);
var xhr = novo 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>
</head>
<Body>
Selecione um arquivo: <input type = "file" id = "arquivos" name = "arquivo" />
<input type = "button" value = "upload arquivo" onclick = "uploadfile ();" />
<div id = "resultado"> </div>
</body>
</html>
O objeto xmlHttPrequest acima e o objeto FormData não são explicados em detalhes. Use esses dois objetos para fazer upload dos arquivos selecionados pelo usuário no servidor.
Depois de usar o middleware app.use (express.BodyParser ()) no lado do servidor, o http.incomingMessage, que representa a solicitação do cliente, ou seja, o objeto RES possui uma propriedade de arquivos.
Código lateral do server.js:
A cópia do código é a seguinte:
var express = requer ("expresso");
var fs = requer ("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 arquivo = req.files.myfile;
fs.readfile (file.path, function (err, dados) {
se (err) res.send ("Leia a operação do arquivo falhou");
outro{
fs.writefile (file.name, dados, função (err) {
se (err) res.send ("Operação de escrita de arquivos falhou.");
else Res.send ("Enviamento de arquivo com sucesso");
})
}
});
});
App.Listen (1337, "127.0.0.1", function () {
console.log ("comece a ouvir");
});
Depois de iniciar o servidor, execute o navegador:
Selecione um arquivo:
O sucesso do upload da palavra aparece no navegador.
Também existem arquivos que carregamos no lado do servidor.
Depois de clicar no upload:
Além disso, o BodyParse pode aceitar dados JSON enviados pelo cliente Ajax e pelo processamento do URL.