第7天 Post方法与上传——切割分类数据
现在要切割并分类上传来的数据,首先就要解析出边界字符串,通过边界字符串,可以把上传的数据按照字段进行分割。
切割分类数据
现在要切割并分类上传来的数据,首先就要解析出边界字符串,通过边界字符串,可以把上传的数据按照字段进行分割。
从 content-type 中解析出boundary边界字符串
解析代码如下:
var contentType = req.headers["content-type"]; /(boundary=)/gi.test(contentType); // boundary 就是边界字符串 -----------------------------7ddc8352a02ea var boundary = RegExp["$'"];
OK,我们有了边界字符串,就可以利用它进行分割工作了;不过值得注意的是,boundary前面还要加上两个"-",而结尾的边界字符串是最特殊的,因为他还要在后面加上两个"-",另外边界字符串结尾都跟着"\r\n"(除了结尾边界字符串)。所以我们还要定义两个变量,boundaryStandard和boundaryEnd,分别代表一般边界字符串和结尾边界字符串。代码如下:
var boundaryStandard = "--"+boundary+"\r\n"; var boundaryEnd = boundaryStandard+"--";
去掉头尾边界字符串
为了方便下一步的工作,我们要删除头尾的边界字符串,body_data是个字符串形式的数据,保存着整个上传的body体数据。
//删除头尾边界字符串 body_data = body_data.substring(boundaryStandard.length,body_data.length-boundaryEnd.length);
OK,现在的body_data已去掉头尾边界字符串了,下一步就要用字符串的split方法把数据按照字段分割,分割后保存在一个数组中。
var fields = body_data.split(boundaryStandard);
有了fileds,就可以单独处理字段数据了。处理这些字段数据的过程,我们叫它解析。下一节解析这些分割后的数据,也就是fileds。
很赞哦! ( 0
)