簡體   English   中英

在Snap Framework中的文件上傳處理程序(handleMultiPart)中顯示進度狀態

[英]Showing progress status in file upload handler (handleMultiPart) in Snap Framework

我正在使用Snap框架來原型化Web應用程序。 我正在嘗試使用Snap.Util.FileUploads.handleMultiPart上載文件,立即使用iteratee處理該文件,同時在同一頁面上顯示進度消息。

可以掛接Data.Enumerator.printChunks來調試控制台上的進度。 在處理文件上傳時,我不知道如何在同一頁面上顯示進度。 文件上傳期間如何使用handleMultiPart顯示進度消息?

handleMultiPart需要PartInfo -> Iteratee ByteString IO a來處理文件上傳。 handleMultiPart應該使用MonadIO m => PartInfo -> Iteratee ByteString ma使其更簡單嗎?

通常,我不知道在上傳文件時是否可以通過推送HTML響應在客戶端顯示進度。 據我所知,執行此操作的Web應用程序通常使用某些JavaScript API或Flash小部件來執行此操作。 當然,使用handleMultiPart

但是,流傳輸到控制台是另一回事–您可以輕松地提供一個枚舉者,該枚舉者記錄大塊信息(或者更新MVar,以替代方式),然后將控制權傳遞給下游。 在snap 1.0(近乎發行)中,這將減少大腦的彎曲,它將使用更容易考慮的io流。

最后,handleMultiPart在IO上工作,因為否則將需要對monad進行“運行”操作,即從(ma-> IO a)的反升。 有很多方法可以做這種事情,但是snap <1.0並不能解決問題,對不起---在snap 1.0中,這個問題將不復存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM