快递的中间件bodyParser详解
bodyParser用于解析客户端请求的身体中的内容,内部使用JSON编码处理,url编码处理以及对于文件的上传处理。
下面是一个文件上传的例子。
建立一个1.html页面
复制代码代码如下:DOCTYPE html html head lang=' en ' meta charset=' UTF-8 '标题向服务器上传文件/title脚本类型='text/javascript '函数uploadFile(){ var formData=new formData();var文件=文档。getelementbyid(“文件”).文件;定义变量文件=文件[0];formData.append('myfile ',file);var xhr=new XMLHttpRequest();xhr.open('post ',' index.html ',true);xhr。onload=函数(e){ if(this。status==200)文档。getelementbyid(' result ').innerHTML=this . response };xhr。发送(表单数据);}/脚本/床头请选择文件:输入类型=' file ' id=' files ' name=' file '/输入类型='按钮'值='上传文件onclick=' uploadFile();/div id='result'/div/body/html上面的XMLHttpRequest对象与表单数据对象时HTML5中的内容,不作重点讲解。用这两个对象可以将用户选取的文件上传到服务器端,
在服务器端使用了app.use(express.bodyParser())中间件之后,代表客户端请求的http .输入消息,也就是表示留数对象就具有了一个文件属性。
server.js端代码:
复制代码代码如下: var express=required(' express ');var fs=require(' fs ');var app=express();app。使用(快递。body parser());app.get('/index.html ',函数(req,RES){ RES . sendfile(_ dirname '/1。html ');});app.post('/index.html ',函数(req,RES){ var file=req。文件。我的档案;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可以接受客户端创建交互式、快速动态网页应用的网页开发技术提交的json数据,以及全球资源定位器(统一资源定位符)的处理。
版权声明:快递的中间件bodyParser详解是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。