BodyParser는 클라이언트가 요청한 본문의 내용을 구문 분석하는 데 사용되며 내부적으로 JSON 인코딩 처리, URL 인코딩 처리 및 파일 업로드 처리를 사용합니다.
다음은 파일 업로드의 예입니다.
1.html 페이지를 만듭니다
코드 사본은 다음과 같습니다.
<! doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<title> 파일 업로드 서버 </title>
<script type = "text/javaScript">
함수 uploadFile () {
var formdata = new FormData ();
var files = document.getElementById ( "files"). 파일;
var 파일 = 파일 [0];
formdata.append ( "myfile", file);
var xhr = 새로운 xmlhttprequest ();
xhr.open ( "post", "index.html", true);
xhr.onload = function (e) {
if (this.status == 200)
document.getElementById ( "결과"). innerHtml = this.Response;
};
xhr.send (formdata);
}
</스크립트>
</head>
<body>
파일을 선택하십시오 : <input type = "file"id = "files"name = "file" />
<input type = "button"value = "업로드 파일"onclick = "uploadfile ();" />
<div id = "result"> </div>
</body>
</html>
위의 xmlhttprequest 객체 및 FormData 객체는 자세히 설명되지 않습니다. 이 두 객체를 사용하여 사용자가 선택한 파일을 서버에 업로드하십시오.
서버 측에서 app.use (express.bodyparser ()) 미들웨어를 사용한 후 클라이언트 요청을 나타내는 http.incomingMessage, 즉 res 객체에는 파일 속성이 있습니다.
Server.js 사이드 코드 :
코드 사본은 다음과 같습니다.
var express = 요구 사항 ( "Express");
var fs = 요구 ( "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 ( "파일 조작이 실패한 읽기");
또 다른{
fs.writefile (file.name, data, function (err) {
if (err) res.send ( "파일 쓰기 작업 실패");
else res.send ( "파일 업로드");
})
}
});
});
app.listen (1337, "127.0.0.1", function () {
Console.log ( "청취 시작");
});
서버를 시작한 후 브라우저를 실행합니다.
파일 선택 :
브라우저에 성공적인 단어 업로드 성공이 나타납니다.
서버쪽에 업로드 한 파일도 있습니다.
업로드를 클릭 한 후 :
또한 BodyParse는 클라이언트 AJAX가 제출 한 JSON 데이터 및 URL 처리를 수락 할 수 있습니다.