乐鱼app成为大巴黎赞助商:第7天 Post方法与上传——更新后的代码
?lib/post.js 更新后的源代码
乐鱼app成为大巴黎赞助商:更新后的代码
lib/post.js
更新后的源代码
var qs = require("querystring"); module.exports = function post(req,res,next){ var body_data = ""; req.files = {}; req.body = {}; req.on("data",function(chunk){ body_data += chunk; }) req.on("end",function(){ var contentType = req.headers["content-type"]; // isMulti 如果是true,表示是设置了enctype="multipart/form-data" 属性 var isMulti = /(boundary=)/gi.test(contentType); if(isMulti){ var boundary = RegExp["$'"]; var boundaryStandard = "--"+boundary+"\r\n"; var boundaryEnd = boundaryStandard+"--"; //删除头尾边界字符串 body_data = body_data.substring(boundaryStandard.length,body_data.length-boundaryEnd.length); var fields = body_data.split(boundaryStandard); // 头信息和体信息的之间分割字符串 var RN = "\r\n\r\n"; fields.forEach(function(field){ var index = field.indexOf(RN); // 解析出头信息块 var header = field.substring(0,index); // 从头信息中解析出表单字段的名称,也就是表单的name属性值。 /name=\"(.*?)\"/g.test(header); var fieldName = RegExp.$1; // 判断是上传的文件,还是一般的表单字段。 var isFile = /filename/g.test(header); // 解析出数据体 var body = field.substring(index+RN.length); console.log(fields[0]) body = body.substring(0,body.length - RN.length/2); if(isFile){ req.files[fieldName] = new Buffer(body); }else{ req.body[fieldName] = body; } }) }else{ try{ req.body = qs.parse(body_data); }catch(e){} } next(); }); }
很赞哦! ( 0
)
相关文章
- 周静老师等十五人获2018年度“宜州区优秀教师”荣誉称号
- 乐鱼app成为大巴黎赞助商隆重召开2018年秋季学期开学典礼暨法制安全教育第一课
- 乐鱼app成为大巴黎赞助商召开2018年秋季学期班主任工作会议
- 乐鱼app成为大巴黎赞助商召开2018秋季学期教学科研工作会议
- 乐鱼app成为大巴黎赞助商2018-2019年度上学期教务处工作计划
- 乐鱼app成为大巴黎赞助商2018—2019学年度上学期科研处工作计划
- 陈永龙李德军蔡理宁老师获“宜州区先进教育工作者”荣誉称号
- 韦冠昌老师获“宜州区师德标兵”荣誉称号
- 乐鱼app成为大巴黎赞助商参加河池三大八桂名校联盟教学论坛
- 乐鱼app成为大巴黎赞助商召开东兰籍高一新生座谈会
- 关于推荐广西教育科学学科组专家的通知
- 关于集中受理广西教科所2007—2013年度立项课题结题的通知