Javascript 通过http将文件从客户端发送到客户端
有人知道如何通过http实现从客户端到客户端的文件发送吗。这是一个类似的示例,但找不到如何实现它:Javascript 通过http将文件从客户端发送到客户端,javascript,http,Javascript,Http,有人知道如何通过http实现从客户端到客户端的文件发送吗。这是一个类似的示例,但找不到如何实现它: 有什么想法吗?您提供的示例也适用于服务器。数据可能直接在接收方的服务器上传输,但仍然通过服务器传输。唯一的优势是,他们不必在服务器上保存千兆字节的数据 如果您对实现感兴趣,请启动Firebug并查看网络选项卡 选择文件后,文件名将发送到服务器,并返回下载的URL: files1 http://files1.jetbytes.com/42621cb32af927558 然后,浏览器实际上每秒轮询服
有什么想法吗?您提供的示例也适用于服务器。数据可能直接在接收方的服务器上传输,但仍然通过服务器传输。唯一的优势是,他们不必在服务器上保存千兆字节的数据 如果您对实现感兴趣,请启动Firebug并查看网络选项卡 选择文件后,文件名将发送到服务器,并返回下载的URL:
files1 http://files1.jetbytes.com/42621cb32af927558
然后,浏览器实际上每秒轮询服务器,询问是否有人请求下载。一旦响应从wait 0
变为wait 1
,浏览器中的Javascript就会知道已请求下载并将表单与文件一起发布
然后,服务器端通过管道将POST数据直接发送到下载程序。关于实现,我们只能猜测,但是Node.js可能是一个不错的选择。猜测您可以复制他们的行为,大致如下 让我们命名交换的三个部分:发送方(在浏览器中)、服务器(嗯……服务器代码)、接收方(在浏览器中)
- 发送方界面:用户选择一个文件李>
- 发件人:定期(此处每隔一秒)更新服务器,告知发件人已准备好发送文件。当服务器还没有准备好时,它只是向发送者回答“我还没有准备好”李>
- 接收方获取生成的URL李>
- Sender(与以前一样)更新服务器,表示它已准备好发送文件。这次服务器回答“我准备好了”李>
- 发送者只需发布文件(就像在最简单的HTML表单中一样)。
- 服务器将POST数据中继到接收器(带有相关的报头)李>
- 此操作需要时间,因此以下操作仅用于更新进度条发送方
- 发送方定期(此处每秒)询问服务器到目前为止获得了多少数据;服务器会回答它收到了多少,以及它在结束前期望得到多少
- 发件人更新其进度条
- 发送方询问服务器到目前为止获得了多少数据;服务器回答它已完成
- 交换的三个部分的关闭例程
- 定期更新可由另一种技术取代(请参阅)李>
- 如果传输在完成之前中断,则可以在传输中断的地方继续传输李>
- …许多其他方面
对于实现,大部分工作将在客户端完成,这里描述的所有内容都可以使用jQuery实现。在服务器上,两个目标是传输数据和应答发送者。你必须给自己定义一个轻量级协议,说“我还没有准备好”,“到目前为止我有N个字节”,“我完成了”。javascript和文件?嗯,我不这么认为!:-)对node.js或signer有什么想法吗?不需要额外的库,可用于文件传输。