想在浏览器里头存需要随机存取的大文件,咋存好呢?

2014-07-12 11:44:40 +08:00
 qq529633582
这是个chrome only的场景,因此可以使用Filesystem API。
由于是extension或app,有足够的权限。
“大文件”大小可能为数百兆字节,而且数量上可能有许多。

我需要随机存取,而往fileSystem写可以seek,读取不能的seek,那么可以:
0. 分成小段存储
1. 顺序读取然后丢掉前面的部分
2. 支持随机存取的其他方法(如果存在的话)
3. 法律规定的其他方法

存储方式可以是:
0. fileSystem
1. localStorage
2. indexDB
3. webSQL
4. 法律规定的其他方式

咋存好呢?如果分成大量的小段,会有性能问题不?
4048 次点击
所在节点    HTML
10 条回复
jsonline
2014-07-12 11:58:01 +08:00
你是要随机读取文件里面的内容,还是随机挑选文件路径啊?
qq529633582
2014-07-12 12:05:00 +08:00
@jsonline 随机读取内容
loading
2014-07-12 12:51:06 +08:00
如果场景合适,可以考虑 node-webkit
sneezry
2014-07-12 16:16:02 +08:00
FileSystem可以移动指针位置
qq529633582
2014-07-12 17:18:32 +08:00
@sneezry 咦,该怎么做呢?求相关文档
sneezry
2014-07-12 20:47:25 +08:00
qq529633582
2014-07-12 20:48:57 +08:00
@sneezry 我说了呀,fileWriter可以seek,fileReader不行
sneezry
2014-07-12 22:12:43 +08:00
@qq529633582 哦哦,那读取成ArrayBuffer呢,ArrayBuffer可以操作位置
qq529633582
2014-07-13 08:17:34 +08:00
@sneezry 这是一个大大大大大大大文件~
目前想到的办法是用Blob的slice,不知道会不会有效率问题
sneezry
2014-07-13 10:09:39 +08:00
@qq529633582 哈,试试吧,毕竟FileSystem是Chrome OS里唯一的文件操作方法,我想Google会想到处理好大文件的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/122280

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX