2014-10-22 66 views
0

我想從服務中讀取數據,在瀏覽器中解密,然後寫出來。從服務中讀取和解密很容易,但我怎麼能問用戶在哪裏下載文件?如何將文件流式傳輸到硬盤驅動器?

我找到了FileSystem和FileWriter API,但沒有得到廣泛支持(只是Chrome,Opera和Safari)。我一直在尋找Downloadifythis question的推薦,但似乎我必須有整個文件在內存之前,我可以開始下載。除此之外,它效果很好。但是,我想將其設置爲流。從服務中獲取一塊,解密該塊,在獲得另一個塊之前將該塊寫入磁盤。

我怎樣才能將數據從JavaScript流式傳輸到磁盤?我相信這是可能的,因爲Mega.co.nz以這種方式工作。我嘗試瞭解他們的代碼,但無濟於事。

回答

0

我終於遇到了FileSaver.js,這是一個很棒的小庫,可以完成我想要做的事情。它提供了一個簡單的saveAs(blob, filename)函數,用於使用保存文件對話框將內容從javascript保存到硬盤驅動器,就像用戶從服務器下載某些東西(除非不需要服務器)。它適用於在其網站上的表格中列出的相當大的文件。大多數瀏覽器似乎可以處理至少345 MB的文件。 There's a blog post由作者很好地分解了它的用法。

相關問題