2017-02-19 77 views
0

我搜索了网页,看看是否有一种方法可以将文件(照片,视频,消息)发送给使用应用程序的用户。我找不到任何明确的例子或解释如何实现它。使用javascript发送文件给用户

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

+0

你正在寻找某种文件上传 –

+0

看看[FileSaver.js](https://github.com/eligrey/FileSaver。js /) –

+1

@JijoCleetus是的,我正在寻找上传某些文件到某些定义的用户(由发送文件的人定义的)的“收件箱”。 –

回答

0

不知道你的意思是“发送文件”给用户,但如果你希望他们使用JavaScript来下载一个文件,你可以使用这个优秀的jQuery插件:http://jqueryfiledownload.apphb.com/

当然,也有很多的替代品例如创建一个不可见的iframe,然后将url加载到您希望用户下载到该iframe的文件中。你可以在这里阅读更多关于这个:Download File Using Javascript/jQuery

希望它有帮助!

+0

感谢您的帮助,我会去检查一下。我发送文件的意思基本上是;假设用户从他的相机拍摄照片,照片会自动保存到一个文件夹中,以便计算机可以访问该照片(基本上,照片就是我在问题中称为文件的位置,对于消息和视频也是如此。 )。 –

+0

Javascript无权访问用户的本地文件系统。我也不知道任何JavaScript访问手机的相机。我不完全确定JavaScript会是你想要实现的最好的东西(制作相机/消息传递应用程序??) –

+0

@LaurensSwart使用html5,javascript对用户的本地文件系统进行了沙盒访问 – niceman

0

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

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

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

但有时我们希望服务器与我们可以使用SSE(服务器发送的事件)的客户端交谈,在其他时候我们希望在服务器和客户端之间创建一个连接,并且我们希望两者都能够发送给它并从中接收,这就是WebSockets的作用。

在你的用例中,你可以有两种策略:点对点或集中式,当用户X想要发送一些东西给用户时,它必须首先发送给服务器,服务器将其发送给用户Y.

为此,您需要websockets,您在用户X和服务器之间创建一个连接,在服务器和用户Y之间创建另一个连接,将用户X的文件发送到连接,然后服务器通过另一个连接到用户Y,用户Y可以将新文件发送到服务器,以便服务器将其发送给用户X,等等。因此,您可以得出结论:Websockets具有服务器部分和客户端部分,通常我们启动的websockets服务器不同于为应用程序提供服务的Web服务器(两者可以在同一台服务器计算机上或不同的计算机上),如果您不想带上自己的服务器,你可以看看推送器:https://pusher.com/

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

如果你想建立点对点连接,你可以看看simple-peer

+0

感谢您清理我的问题的整个消息部分。你的回答非常有帮助。 –