2017-01-13 72 views
1

我在運行nodejs的服務器上運行大量數據文件。我在客戶端上使用angular-file-upload來做到這一點,這可以幫助我通過一組回調函數跟蹤上傳進度。在客戶端跟蹤Nodejs服務器進度

但是當上傳完成後,服務器開始使用數據(轉換格式並上傳到用戶指定的數據庫)。我想跟蹤上傳過程,並以與上傳相同的方式啓動另一個進度條。

這樣做的正確方法是什麼?通過互聯網,我瞭解到套接字可能是要走的路。這是否使我的角度文件上傳過時,或者有另一種方式來做到這一點?上傳完成後是否建立新的連接,還是使用上載連接,並將進度信息返回給客戶端?

Socket.io確實有一套關於如何設置聊天發送消息給客戶端的很好的教程,但這並不能真正覆蓋我的一些更復雜的情況。

任何在正確的方向指針將非常感激。

回答

1

如果你想獲得進度的實時狀態,那麼只要文件上傳完成,立即你將不得不打開一個套接字連接來獲取你需要的服務器端邏輯的進度數據數據庫隨着進展情況不斷更新。

但是,這是一個痛苦執行,因爲你將不得不使用像redis一樣的數據庫以高效的方式跟蹤進度,這將再次增加項目的架構,從而增加維護工作量,並且即使存在一些對於socket.io來說,我的解決方案就是使用像firebase這樣的實時後端或Back Back(拼寫爲backand)。

一旦文件被上傳你的後端將繼續張貼到火力當前的進程和進展和你的客戶端將監聽到這些變化,並進行任何更改是由於angulars 2個數據綁定會自動反映在您的UI。

相關問題