作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当通过 busboy 上传少量文件时,我遇到了事件问题。我的代码:
app.post('/multiupload', function(req, res) {
var fstream;
var files = [];
var busboy = new Busboy({headers: req.headers});
busboy.on('file', function (fieldname, file, filename) {
fstream = fs.createWriteStream(__dirname + '/../static/uploaded/' + filename);
file.pipe(fstream);
fstream.on('close', function(){
console.log('file ' + filename + ' uploaded');
files.push(filename);
});
});
busboy.on('end', function(){console.log('END')});
busboy.on('finish', function(){
console.log('finish, files uploaded ', files);
res.redirect('back');
});
req.pipe(busboy);
});
我的表单(Jade 模板)
form(method="POST", action="/multiupload" name="multiupload_form", enctype="multipart/form-data")
input(type='file' name='multifile', multiple)
input(type="submit" value="Upload!")
事件 'end' 被忽略,在文件上传过程中完成触发。我哪里错了?
服务器控制台报告:
file 111.gz uploaded
file 222.mp4 uploaded
file 333.jpg uploaded
finish, files uploaded [ '111.gz', '222.mp4', '333.jpg' ]
file 444 uploaded
file 555.jpg uploaded
最佳答案
busboy
不会发出 end
事件。 finish
事件在处理完整个请求并完全读取所有 file
流后发出。所以问题是底层文件描述符的关闭发生在 finish
发出之后的下一个滴答声(或左右)。
如果您需要知道所有文件描述符何时关闭,则需要想出一种方法来跟踪发出了多少 close
事件。
关于javascript - nodejs,connect-busboy。上传几个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26162633/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!