簡體   English   中英

緩沖客戶端文件下載

[英]Buffering a client-side file download

我有一個文件,在服務器端分為多個部分。 完整的文件非常大,它的大小可能達到10 GB或更多(這是首先將其拆分的原因)。

該文件采用特定格式,在下載之前必須先在客戶端進行處理。

現在,我知道可以將Blob下載到客戶端,進行處理,然后使用以下方法從此處下載BlobJavaScript blob文件名,不帶鏈接

這里的問題是,我需要從客戶端的所有文件部分構造一個巨大的blob,這是我不想要的,因為它可能很快就會超出RAM限制。

我想分別下載文件的每個部分,然后對其進行處理並下載“部分” blob。 這意味着我需要開始下載,然后逐個添加blob,直到下載完成。

有可能這樣做嗎? 怎么樣? 我知道mega.co.nz在文件下載方面做一些類似的工作,它們首先在客戶端處理文件(用於解密)。 他們在使用這種技術嗎?

您可以將下載的零件保存到localStorage 您將必須首先將每個部分序列化為一個字符串。 然后您可以調用localStorage.setItem 您的代碼可能如下所示:

localStorage.setItem('download-part-' + chunkIndex, chunkDataAsString);
chunkDataAsString = ''; //  let the garbage collector collect the large string

暫無
暫無

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

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