ホームページ  >  記事  >  ウェブフロントエンド  >  ExpressのミドルウェアbodyParser_node.jsの詳細説明

ExpressのミドルウェアbodyParser_node.jsの詳細説明

WBOY
WBOYオリジナル
2016-05-16 16:29:071757ブラウズ

bodyParser はクライアントから要求された本文の内容を解析するために使用され、内部的には JSON エンコード処理、URL エンコード処理、ファイルアップロード処理を使用します。

以下はファイルアップロードの例です。

1.html ページを作成する

コードをコピーします コードは次のとおりです:





ファイルをサーバーにアップロード
                                                           関数 UploadFile(){
var formData=new FormData();
var files=document.getElementById("files").files;
var file=files[0];
formData.append("myfile",file);
var xhr=new XMLHttpRequest();
xhr.open("post","index.html",true);
xhr.onload= function (e) {
If(this.status==200)
document.getElementById("result").innerHTML=this.response;
};
xhr.send(formData);
}



ファイルを選択してください:





上記の XMLHttpRequest オブジェクトと FormData オブジェクトは HTML5 のコンテンツであるため、詳細は説明しません。これら 2 つのオブジェクトは、ユーザーが選択したファイルをサーバーにアップロードするために使用できます。
サーバー側で app.use(express.bodyParser()) ミドルウェアを使用した後、クライアントによって要求された http.IncomingMessage、つまり res オブジェクトは files 属性を持ちます。

server.js コード:

コードをコピーします コードは次のとおりです:
varexpress=require("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("ファイルの読み取り操作に失敗しました");
else{
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 を処理できます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。