使用javascript向用户发送文件

时间:2017-02-19 13:49:18

标签: javascript webrtc

我在网上搜索是否有办法使用应用向用户发送文件(照片,视频,消息)。我无法找到关于如何实现它的任何明确的例子或解释。

我不知道,怎么做。谁能告诉我这是怎么做到的?任何帮助将不胜感激。我还应该提一下,这个应用程序的最终目标是消息传递应用程序。

2 个答案:

答案 0 :(得分:0)

不确定“向用户发送文件”是什么意思,但如果您希望他们使用javascript下载文件,您可以使用这个优秀的jQuery插件:http://jqueryfiledownload.apphb.com/

当然,还有很多其他选择,例如创建一个不可见的iframe,然后将网址加载到您希望用户下载到该iframe的文件中。您可以在此处详细了解此信息:Download File Using Javascript/jQuery

希望它有所帮助!

答案 1 :(得分:0)

首先让我告诉你,你可以使用Kandy js sdk,你可以在这里找到它:https://developer.kandy.io/,我没有测试它,但它看起来很有前途,并提供了你需要的许多功能。

如果你想自己做(或者你只是好奇),WebSockets就是这里的主要游戏玩家。

你现在应该知道的Http协议是一个请求 - 响应协议,客户端向服务器发出请求,服务器响应。

但有时我们希望服务器与我们可以使用SSE(服务器发送事件)的客户端通信,有时我们想在服务器和客户端之间创建连接,我们希望两者都能够发送给它并从中接收,这就是WebSockets的用途。

在您的用例中,您可以有两种策略:点对点或集中式,当用户X想要向用户Y发送内容时,它必须首先将其发送到服务器并且服务器将其发送给用户Y 。

为此你需要websockets,你在用户X和服务器之间创建一个连接,在服务器和用户Y之间建立另一个连接,你将文件从用户X发送到连接,服务器然后通过另一个连接发送给用户Y,用户Y可以将新文件发送到服务器,以便服务器将其发送给用户X,依此类推。

由此可以得出结论,Websockets具有服务器部分和客户端部分,通常我们启动的websockets服务器与服务于应用程序的Web服务器不同(两者都可以在同一台服务器计算机上或不同的计算机上),如果你不这样做的话我想带你自己的服务器,你可以看看推动者:https://pusher.com/

Pusher是一个云服务,提供许多语言的sdks,包括javascript,如果你想拥有自己的服务器,我不能谈论你的问题的服务器端部分,因为你的问题是一个javascript问题,对于客户端部分查看socket.io,这提供了客户端部分以及节点服务器部分,但是如果您不想为服务器使用节点,则可以使用客户端部分。

如果您想构建点对点连接,可以查看simple-peer