好的,所以我是IndexedDB的新手,对Javascript没有特别的经验。现在,我已经有了代码工作,用户可以浏览文件系统中的文件,并且在选中时将文件分解为块(通过使用片),将这些块转换为十六进制字符串,然后字符串(和一个键)存储在IndexedDB中。IndexedDB保存范围为
这种模式的好处是用户可以选择一个非常大的文件,而且,由于我使用的是正确的结构,整个文件不需要一次加载到内存中。
现在我试图读取这些十六进制字符串,当浏览器弹出一个“另存为”对话框时,用户点击一个按钮。问题是我没有设法找到一种方法将数据从IndexedDB“流”到另存为输入。你们有没有意识到有办法做到这一点?我的结局很短暂。
由于
我不认为你可以流它。我可以很容易找出一种方法来合并数据并保存它,但流式传输:除非您愿意上传到服务器然后进行流式传输(这完全破坏了这一点),但我认为没有办法 – Markasoftware
Right 。我已经考虑过两种情况,我担心如果文件太大,将所有十六进制(或base64或blob或其他)连接在一起可能会引发内存异常。 FileReader slice操作让我可以一次处理一个文件块,我真的希望这个文件有一个可行的选项。 –
喜欢...多大? – Markasoftware