求指导, 怎样写浏览器 P2P 文件分享?
发布于 3年前 作者 jiyinyiyong 2153 次浏览

看了下文档感觉 createWriteStream 不太像, 然后类似项目源代码也没能看懂
大致还是 DirtyShare 那样先等待, 然后链接下载
文件传输看过些例子, 但细节不清晰, 求指点方向还有具体应该读什么文档?
类似项目:

16 回复

文件上传可以用到formidable模块

文件发送直接用express的send函数就可以了

具体你可以参考这个中的nodejs服务端实现

以及本人前段时间写的这个

用模块的确简单些, 我开始是这么想的,
把文件从浏览器读成文件流, 然后通过 socket.io 传输,
然后再到浏览器端把文件流保存成文件. 这样可行的吗?

@jiyinyiyong 这样子是可以的,因为文件传输实际上就是通过post发包实现,但是这个浏览器端似乎比较麻烦,因为客户端js功能比较弱

@bobchennan 是啊, 比起 Node 的文件操作接口, 浏览器端几乎无视了
傍晚在翻 FileReader 对象, 以前没接触过, 现在绕晕了, 操作实在弱

我还是觉得直接在client之间建立联系比较难,所以上传到服务器比较容易,关于上传formidable这个模块做得很不错了,原理方面也有文章剖析,下载直接send就可以了,比读取文件通过流传送要快(系统send少一次读写操作)

另外看到一个不错的应用,你可以看一下

shareDesk 之前我想直接用得了, 不过发现有个 Bug, issue 里有说.
我主要还是不想在服务器上保存文件内容, 积累空间不大好玩
好多的链接, 谢啦. 晚上去看看
看到上边也提到 websocket P2P , 这东西目前用得上了吗?

@jiyinyiyong 据我所知还是不可以,你还可以看看这个,关于这些讨论比较多,html5新标准总觉得还不是很成熟

@bobchennan 我在 FileReader 这儿就卡住好久, 求助楼上…
enter image description here

我打算先把文件读取出来的, 但是看输出 onload 是没有触发的
onerror 是有, 可怎么看怎么不像错误内容,
参考的大致是这里, 我想先看读取会输出(原本猜测乱码… 结果出错)然后继续… http://blog.csdn.net/ymjring/article/details/7190918

@bobchennan 难道是有本地测试不能加载的问题?
例子我能运行, 但是下载到本地之后就也不能正常使用了…

@jiyinyiyong 网页保存下来本地测试没问题?

@bobchennan Fedora 16 Chrome Version 19.0.1077.3 dev
我把原来的代码放到网上, 然后 onload 能触发. 所以认为是这个问题
先不管了… 没找到把 BinaryString 转会到文件的方案…
我把 shareDesk 安装成功了, 也能用的
http://learning-notes.diandian.com/post/2012-04-20/17937314

神帖,信息量真大!

回到顶部