按照koa官方给的例子做文件上传失败,用koa做过文件上传的同学能传授下经验吗?
按照官方给的这个例子去做https://github.com/koajs/examples/blob/master/upload/index.js 可是总是获取不到上传的内容,进入不到while里面:
app.use(function *(next){
// ignore non-POSTs
if ('POST' != this.method) return yield next;
// multipart upload
var parts = parse(this);
var part;
while (part = yield parts) {
var stream = fs.createWriteStream('/tmp/' + Math.random());
part.pipe(stream);
console.log('uploading %s -> %s', part.filename, stream.path);
}
this.redirect('/');
});
11 回复
没有进到while里去就是 part = yield parts 没有值,你看看你上传的表单是否有问题
@littlehaker form表单也是仿照例子里写的,可是不知为什么就是不行
@littlehaker 能留个qq或邮箱不?想向你请教详细一点的问题
var parts = parse(this); 这句我觉得应该是yield parse(this)
确定是 this.method 而不是 this.request.method 么?
@gxmari007 官方是这么写的
@flex1988 这个地方是没问题的
我试了没有问题, 创建了tmp目录没?
@zestxjest 创建了,其实单个使用我试过也是没问题的,但整合进项目的时候有问题,找不出原因,所以希望有人可以指点一下
@JerroldLee DEBUG一下, 看看this的区别.