许多教程直接教授通过socket.io上传文件,但我发现Socket.IO流也可以这样做
非常感谢
发布于 2016-09-04 18:15:06
使用流有几个原因:
是否使用流媒体确实是一个逐案的基础。如果您知道流,并且您只是尝试从A点发送文件到B点,我几乎总是使用流,除非有特定的原因不使用(您所追求的某些特性很难用流实现)。
您没有显示您的非流代码是如何工作的,因此我们很难直接比较流选项和您尚未显示的代码,但下面是您的具体问题的猜测:
使用Socket.IO流将文件上传到服务器有什么好处?
见上面的要点。
如果文件大小很小(~300 it ),是否需要流?
“需要流”取决于很多事情。在300 to,不可能有数以千计的飞行在同一时间,你可能不需要“需要”流。但我会反过来问自己一个问题。为什么不流出来呢?如果你有现成的代码,为什么不使用它呢?
流会节省服务器的内存吗?
这取决于您比较它的实现是什么,但是由于流具有流控制和管理缓冲本身,所以对于内存的使用通常是有效的。
如果我使用base64编码通过websocket上传一些文件(~8mb),会不会对服务器造成不良影响?
这完全取决于您的实现。我不认为webSocket是专门为文件上传而构建的。在大多数情况下,我可能会使用webSocket作为控制通道,并通过http服务器进行大文件上传,而上传是一个成熟的特性。首先,对于某些类型的数据,base64编码并不是特别有效。http和webSocket都支持二进制传输,这通常对文件数据更有效。
https://stackoverflow.com/questions/39319675
复制相似问题