2013-09-26 31 views
1

我需要在我的氮氣應用程序中提供文件下載功能。Erlang氮素文件下載

原則上我需要設置標題是這樣的:

wf:header("Content-Disposition", "attachment; filename=\"" ++ Filename ++ "\""), 

,但現在我找不到氮API函數來發送我的文件的數據塊。

我需要部分上傳文件,因爲它們可能非常大,除此之外,文件在本地存儲上不可用,但二進制數據是從其他模塊獲取的。所以在實踐中我需要自己處理將數據塊發送到http流。

任何想法,或例如如何做到這一點,可以使用什麼api函數?

回答

1

最好的答案我可以給你一個我answered幾天前氮郵件列表:

沒有處理這一個偉大的方式。 有兩種方法來處理這個:

1)使用底層服務器的流媒體機制(如使 特定牛仔調度表到目標的牛仔處理器模塊 涉及流媒體),或雅司病OUTFILE。

2)如果你使用牛仔,使用牛仔,有一點可以在 simple_bridge中工作。如果您的模塊的main()函數 返回元組:{stream, StreamFun}其中StreamFun是一個函數 與參數2(fun(Socket, Transport) - 傳輸是一個牧場 傳輸)。真的,這只是一個快捷方式,允許你使用傳送:發送(套接字)來發送數據。我承認我之前沒有做過 ,但它應該有點修補。

將此作爲一個實際的選項添加到simple_bridge,並且氮可能是值得的。

+0

是的,我用simple_bridge,它工作得很好 – Luman75