express的中间件bodyParser详解


Posted in Javascript onDecember 04, 2014

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("开始监听");

 });

启动服务器后,运行浏览器:

express的中间件bodyParser详解

选择文件:

express的中间件bodyParser详解

在浏览器端出现了 上传成功字样,

在服务器端也有了我们上传的文件.

express的中间件bodyParser详解

点击上传后:

另外bodyParse可以接受客户端ajax提交的json数据,以及url的处理.

Javascript 相关文章推荐
Javascript 实现TreeView CheckBox全选效果
Jan 11 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
Sep 27 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
Nov 14 Javascript
js中replace的用法总结
Dec 27 Javascript
javascript中call apply 的应用场景
Apr 16 Javascript
JavaScript数据类型学习笔记
Jan 25 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
Apr 07 Javascript
jQuery实现在新增加的元素上添加事件方法案例分析
Feb 09 Javascript
JS实现简单获取最近7天和最近3天日期的方法
Apr 18 Javascript
vue中created和mounted的区别浅析
Aug 13 Javascript
js判断在哪个浏览器打开项目的方法
Jan 21 Javascript
浅析 Vue 3.0 的组装式 API(一)
Aug 31 Javascript
express的中间件basicAuth详解
Dec 04 #Javascript
详解JS函数重载
Dec 04 #Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
Dec 04 #Javascript
javascript常用代码段搜集
Dec 04 #Javascript
5种处理js跨域问题方法汇总
Dec 04 #Javascript
用js读、写、删除Cookie代码续篇
Dec 03 #Javascript
js字符串完全替换函数分享
Dec 03 #Javascript
You might like
比较详细PHP生成静态页面教程
2012/01/10 PHP
深入PHP数据加密详解
2013/06/18 PHP
php中生成随机密码的自定义函数代码
2013/10/21 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
JS图片根据鼠标滚动延时加载的实例代码
2013/07/13 Javascript
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
JavaScript中的style.cssText使用教程
2014/11/06 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
基于jQuery实现美观且实用的倒计时实例代码
2015/12/30 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
vue加载自定义的js文件方法
2018/03/13 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
VUE项目axios请求头更改Content-Type操作
2020/07/24 Javascript
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
2020/08/20 Javascript
分析在Python中何种情况下需要使用断言
2015/04/01 Python
老生常谈Python序列化和反序列化
2017/06/28 Python
Python利用字典破解WIFI密码的方法
2019/02/27 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
利用CSS3实现文本框的清除按钮相关的一些效果
2015/06/23 HTML / CSS
HTML5拖拽的简单实例
2016/05/30 HTML / CSS
自1926年以来就为冰岛保持温暖:66°North
2020/11/27 全球购物
俄语翻译实习生的自我评价分享
2013/11/06 职场文书
采购文员岗位职责
2013/11/20 职场文书
鼓励运动员的广播稿
2014/02/08 职场文书
2014年开学第一课活动方案
2014/03/06 职场文书
求职意向书范文
2014/04/01 职场文书
省文明单位申报材料
2014/05/08 职场文书
应聘教师自荐书
2014/06/16 职场文书
卫生院艾滋病宣传活动小结
2014/07/09 职场文书