此前有一次 P2P 文件分享的尝试, 结果浏览器操作本地文件是难点.
想法是借助 Node 转发文件流, 先用 socket.io 完成最开始的交互,
然后用 API 读取本地文件的内容, 接着文件可以被传送到接收者.
不过将文件存储下来是个问题, 而且搜索到的 API 也没有在浏览器完成.
今天再搜了下, 记一下当前对这个问题的理解:
不确定的一个方案是用 Chrome extension 完成存储的过程, 大概不会用:
http://stackoverflow.com/questions/8368745/is-it-possible-for-a-chrome-extension-to-write-to-a-file-in-chromes-system-dire
FileSystem API 是写在沙箱里的, 我被误导多次, 这不能操作我想要的文件.
http://www.html5rocks.com/en/tutorials/file/filesystem/
但是看到这里 FileSaver 的 Demo 页面, 我觉得有点希望: http://eligrey.com/demos/FileSaver.js/ 按照 Github 页面上写的, 是到一个没有实现的 saveAS API 的模拟实现 https://github.com/eligrey/FileSaver.js 看文档给的例子只有文本和 canvas 的, 不清楚对文件能不能实现...
然后看到有博文提到上边操作的细节, 用了 URL, 我还看不懂:
http://www.keakon.net/2011/10/20/用JavaScript读取和保存文件
提到说还是一组 API 在浏览器环境没获得支持的原因, 具体文档:
http://www.w3.org/TR/file-writer-api/
API 没完成的时候真是无计可施了, 毕竟文件分享失去了浏览器的便利.
另外就是早期看到的 DirtyShare 的实现, 得想法看懂代码才好啊.
http://club.cnodejs.net/topic/4f8f54f8407edba21416cf60