我想从服务中读取数据,在浏览器中对其进行解密,然后将其写出。从服务读取和解密很容易做到,但是我怎么能问用户在哪里下载文件呢?
我找到了FileSystem和FileWriter API,但并未得到广泛支持(仅Chrome,Opera和Safari)。我一直在根据这个问题的建议来研究Downloadify,但看来我必须先将整个文件保存在内存中,然后才能开始下载。除此之外,它还很棒。但是,我想将其设置为流。从服务中获取一个块,解密该块,然后将该块写入磁盘,然后再获取另一个块。
如何将数据从javascript流到磁盘?我敢肯定这是有可能的,因为Mega.co.nz是这样工作的。我试着通过他们的代码,但无济于事。
我最终遇到了FileSaver.js,这是一个很棒的小库,可以完全执行我想做的事情。它提供了一个简单的saveAs(blob, filename)
功能,即可以使用“保存文件”对话框将javascript中的内容保存到硬盘中,就像用户从服务器上下载内容一样(不需要服务器)。它适用于站点表中列出的较大文件。大多数浏览器似乎可以处理至少345 MB的文件。作者写了一篇博客文章,详细介绍了它的用法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句