Nodejs,获取文件上传进度的最佳方法

时间:2014-08-20 04:06:12

标签: node.js file-upload websocket progress long-polling

首先,如果在提出问题之前没有经过适当的研究,这是一个不成熟的问题,我深表歉意。我的问题是,在Nodejs(使用Express)中,对于文件上传应用程序,回复客户端(页面的javascript)的最佳方法是上传回客户端的百分比(进度): 我的选项是Long Polling或WebSocket(socket.io)。

  • 在nodejs turorial视频中,我看到他们使用长轮询。例如:
var form = new formidable.IncomingForm();

form.uploadDir = __dirname+ '/uploaded';

res.writeHead(200, {
  'Content-type': 'text/plain'
});

form.parse(req, function(err, fields, files) {
  if (err) throw err;
  // console.log(files);
});

form.on('progress', function(bytesReceived, bytesExpected) {

  var progress = 100*bytesReceived/bytesExpected;
  console.log(progress);
      res.write(progress.toString());
});

在没有结束连接的情况下写回数据。

  • 然而,看看stackoverflow并询问其他人
    意见。我被建议使用socket.io,但这需要一些 对于这样简单的任务似乎没必要的附加代码。

这是正确和正确的解决方案,它们的缺点是什么?

0 个答案:

没有答案