【问题标题】:Track Nodejs server progress on client在客户端跟踪 Nodejs 服务器进度
【发布时间】:2017-05-28 14:03:43
【问题描述】:

我有一个运行在 nodejs 中的服务器,我上传一个大数据文件。我在客户端使用angular-file-upload 来执行此操作,这有助于我通过一组回调函数跟踪上传进度。

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

这样做的正确方法是什么?通过互联网,我了解到套接字可能是要走的路。这会使我的角度文件上传过时,还是有其他方法可以做到这一点?是在上传完成后建立新的连接,还是利用上传连接,将进度信息返回给客户端?

Socket.io 确实有一组关于如何设置聊天向客户端发送消息的好教程,但这并没有真正涵盖我更复杂的情况。

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

【问题讨论】:

    标签: angularjs node.js sockets file-upload


    【解决方案1】:

    如果您想获得实时的进度状态,那么在文件上传完成后,您必须立即打开一个套接字连接以获取有关您需要数据库的服务器端逻辑进度的数据随着进展的不断更新。

    但是执行起来很痛苦,因为您必须使用像 redis 这样的数据库来以有效的方式跟踪进度,这将再次增加项目的架构,从而增加维护工作,即使有一些很棒的socket.io 的教程,我的解决方案是使用实时后端,如 firebase 或 Back& (spelt backand)。

    文件上传后,您的后端将继续向 Firebase 发布当前流程和进度,您的客户端将监听这些更改,并且由于 Angulars 2 方式数据绑定,任何更改都会自动反映在您的 UI 中。

    【讨论】:

      猜你喜欢
      • 2016-07-07
      • 2018-07-24
      • 1970-01-01
      • 1970-01-01
      • 2014-07-04
      • 2011-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多