国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

express的中間件bodyParser詳解

2019-11-20 13:49:21
字體:
來源:轉載
供稿:網友

bodyParser用于解析客戶端請求的body中的內容,內部使用JSON編碼處理,url編碼處理以及對于文件的上傳處理.

下面是一個文件上傳的例子.

建立一個1.html頁面

復制代碼 代碼如下:

 <!DOCTYPE html>
 <html>
 <head lang="en">
     <meta charset="UTF-8">
     <title>向服務器上傳文件</title>
     <script type="text/javascript">       
         function 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);
         }
     </script>
 </head>
 <body>
 請選擇文件:<input type="file" id="files" name="file" />
 <input type="button" value="上傳文件" onclick="uploadFile();" />
 <div id="result"></div>
 </body>
 </html>

上面的XMLHttpRequest對象與FormData對象時HTML5中的內容,不作重點講解.用這兩個對象可以將用戶選取的文件上傳到服務器端,.

在服務器端使用了app.use(express.bodyParser())中間件之后,代表客戶端請求的http.IncomingMessage,也就是res對象就具有了一個files屬性.

server.js端代碼:

復制代碼 代碼如下:

 var express=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的處理.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邵武市| 莱州市| 双城市| 彩票| 黄平县| 南漳县| 鹤岗市| 三门峡市| 张家港市| 肇州县| 洞口县| 建德市| 富阳市| 礼泉县| 保德县| 沙湾县| 苍溪县| 洛阳市| 文水县| 封丘县| 达拉特旗| 赤壁市| 青岛市| 大竹县| 宁海县| 翁源县| 洛阳市| 乐都县| 桂平市| 滨海县| 吐鲁番市| 双鸭山市| 霍山县| 修文县| 南京市| 同江市| 南安市| 仪陇县| 皮山县| 安新县| 平泉县|