跟踪客户端上的Nodejs服务器进度

我有一个服务器在nodejs上传一个大型数据文件的地方。 我在客户端上使用angular-file-upload来做这件事,这有助于我通过一组callback函数来跟踪上传进度。

但是当上传完成时,服务器开始处理数据(转换格式并上传到用户指定的数据库)。 我想跟踪这个进度以及上传的同样方式,启动另一个进度条。

什么是正确的方法来做到这一点? 通过互联网,我明白,套接字可能是要走的路。 这是否使我的angular度file upload过时,还是有另一种方式来做到这一点? 上传完成后是否build立新连接,还是使用上传连接,并将进度信息返回给客户端?

Socket.io确实有一套关于如何设置聊天发送消息给客户端的很好的教程,但是这并不能真正覆盖我更复杂的情况。

任何正确的方向指针将非常感激。

如果你想获得进度的实时状态,那么一旦file upload完成,立即你将不得不打开一个套接字连接来获取有关服务器端逻辑的进度数据,你需要一个数据库正在不断更新发生的进展。

但这是一个很痛苦的执行,因为你将不得不使用像redis这样的数据库以高效的方式跟踪进度,这将再次增加项目的体系结构,从而增加维护工作量,即使有一些很棒的教程.io,我的解决scheme是使用像firebase或Back&(拼写backand)的实时后端。

一旦file upload后,您的后端将继续发布到firebase的当前进程和进度,您的客户端将听取这些更改,任何更改将自动反映在您的用户界面感谢angulars 2路数据绑定。