Can I upload a file to server by socket.io in node

2019-01-30 11:21发布

问题:

I have a socket.io client to whom socket.io server is listening in node.js. I want to upload a file to server by socket.io. because my socket.io client is under apache. and socket.io server is in Node.js. I want to code uploading of file in Node.js. But how I can send the file data to the node.js listening to socket.

I have tried the upload of a file using Node.js server. This link is here but the this code does not use the socket.io with this. But my original project is using the socket.io.

Uploading a file in node.js by formidable

How can I do this with the socket.io server?

回答1:

The checked answer is invalid as of Jul 3rd 2012.

Read by yourself this tutorial on NetTuts. This tutorial uses node.js and socket.io to upload a file.



回答2:

I wrote a module for this purpose.

socket.io-stream



回答3:

Here is a npm module I wrote that will implement Socket.IO file uploading in your application:

Socket.IO File Upload

All you need to give the module is your middleware, your socket, and the file input or drop zone used for uploading files. It will also save the files if you give it a directory. The module takes care of the rest.



回答4:

Here is an example of sending a file over socket.io: http://liamkaufman.com/blog/2012/02/11/12-pushing-files-to-the-browser-using-deliveryjs-socketio-and-nodejs/



回答5:

In May of 2014 with release version 1.0 of socket.IO, binary support has been added to the library.

Socket.IO now supports emitting Buffer (from Node.JS), Blob, ArrayBuffer and even File, as part of any datastructure

It's all due to low level api which is provided by engine.io.