我使用nodejs和formidable来显示来自帖子表单的文件的进度条。
var formidable = require('formidable'),
http = require('http'),
util = require('util');
http.createServer(function(req, res) {
if (req.url == '/test.html' && req.method.toLowerCase() == 'post') {
console.log("FILE UPLOAD")
// parse a file upload
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received upload:\n\n');
res.end(util.inspect({fields: fields, files: files}));
});
form.on('progress', function(bytesReceived, bytesExpected) {
console.log(bytesReceived+" / "+bytesExpected);
});
return;
}
// show a file upload form
res.writeHead(200, {'content-type': 'text/html'});
res.end(
'<form action="/test.html" enctype="multipart/form-data" method="post">'+
'<input type="text" name="title"><br>'+
'<input type="file" name="upload" multiple="multiple"><br>'+
'<input type="submit" value="Upload">'+
'</form>'
);
}).listen(8050);
&#13;
在本地,一切正常,在发送文件期间接收到控制台日志字节和字节。 但在我的服务器中,控制台日志被阻止,直到文件上传完成... 即使对于&#39; console.log(&#34; FILE UPLOAD&#34;)仅在文件完成后出现... 所以我无法跟踪进展事件......
也许它是配置的服务器行为,我在cent os 7 linux上。 谢谢你的帮助。