file upload与nodejs koa co-busboy
使用KOA上传文件时,我使用co-busyboy来parsing文件字段。 官方示例如下所示:
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')); }
由于某些原因,我想将所有“部分”stream保存到一个数组中,并在获取所有文件stream时执行写入的实际文件。 即:
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循环继续?