我知道以前有類似的問題。但我不認爲我在google/stackoverflow上找到的解決方案適合我。用Spray發送大文件
我開始用Scala/Spray編寫一些Web服務,似乎發送大文件而不消耗大量內存的最佳方式是使用流編組。這樣Spray會發送http塊。兩個問題:
是否可以在不使用HTTP塊的情況下發送文件,也不需要將整個文件讀入內存?
AFAIK akka.io每次只處理一個寫操作,這意味着它可以緩衝一個寫操作,直到它完全傳遞到O/S內核。對於每個HTTP響應,是否可以告訴Spray內容的長度?此後Spray會詢問新的數據(通過akka消息),直到整個內容長度完成。例如,我指出我的內容長度是100字節。噴霧向我的演員發送一條消息詢問數據,我提供50個字節。一旦這些數據被傳送到O/S,噴霧會發送另一個消息詢問新數據。我提供剩餘的50個字節......然後完成響應。
謝謝!完美的答案! – sapito 2015-02-04 20:16:50