使用nodejs koa co-busboy上传文件

时间:2015-12-14 04:17:29

标签: node.js koa co

我在使用KOA上传文件时使用co-busyboy来解析文件字段。官方示例如下所示:

var parse = require('co-busboy')
var parts = parse(this);
var part; 
while (part = yield parts) {
   if(!part.length) //it is a stream
     part.pipe(fs.createWriteStream('some file.txt'));
}

由于某些原因,我想保存所有" part"流到数组中,并在获取所有文件流时执行实际文件写入。即:

var parse = require('co-busboy');
var parts = parse(this);
var part;
var partArrays = [];
var cnt = 0;
while(part = yield parts){
   partArray[cnt++] = part;
}
//after some processing, I perform the writing
for(file in partArray){
  file.pipe(fs.createWriteStream('some file.txt');
}

问题是 while 循环不会继续。似乎如果我不调用part.pipe,循环将停止。

那么如何让while循环继续?

0 个答案:

没有答案