Node.js Core -Best Javascript Runtime

Node.js 是非常优秀的 Javascript Runtime,NodejsCore介绍 Node.js 框架、应用程序和服务器端的开发问题

Learn more

在NodeJS服务器之间发送文件的最有效方式是什么?

介绍 说在同一个本地networking上,我们有两个使用Express设置的Node:JS服务器:服务器A用于API,服务器F用于表单。 服务器A是一个API服务器,它接受请求并将其保存到MongoDB数据库(文件存储为缓冲区及其细节作为其他字段) Server F服务表单,处理表单的邮件并将表单的数据发送到服务器A. 在接收服务器是Express API的两个NodeJS服务器之间发送文件的最有效的方法是什么? 文件大小在哪里? 1. HTTP方式 如果我发送的文件是PDF文件(不会超过50MB),通过HTTP将整个内容作为string发送是否有效? algorithm如下: 服务器F使用https://www.npmjs.com/package/multer处理文件请求并保存文件 那么服务器F读取这个文件并通过https://github.com/request/request发出一个HTTP请求以及文件的一些细节 服务器A收到这个请求,把文件内容从string转换成缓冲区,并在MongoDB中保存一个logging以及文件的详细信息。 在这个algorithm中,服务器A(当存储到MongoDB中)和服务器F(当它发送到服务器A时)已经将文件读入存储器,并且两个服务器之间的请求大小与文件大小相同。 (50Mb请求是否正确?) 然而,有一点需要考虑的是 – 使用这种方法 – 我将在整个过程中使用ExpressJS风格的API,并且与应用程序的其余部分保持一致,其中/list /details请求也在路线。 我喜欢一致性。 2. Socket.IO方式 与此algorithm相反,我已经探索了https://github.com/nkzawa/socket.io-stream方式,这与服务器A上的HTTP API的一致性脱节(因为socket.io事件的处理程序被定义不是在路由,但具有var server = http.createServer(app); )的文件。 服务器F在routes/some_route.js处理表单数据: router.post('/', multer({dest: './uploads/'}).single('file'), function (req, res) { var api_request = {}; api_request.name = req.body.name; //add other fields to api_request … var has_file […]