Tag: 文件传输

下载人物头像并将其显示在node.js中

最近我变得真正有兴趣在node.js中做我自己的聊天。 我已经做了很多事情(例如注册和login),但是我遇到了一个问题:我需要在朋友列表中显示人物的头像,看起来像这样: test friend list 那些灰色圆圈是一个img标签(这将是默认的空白图片),并且应该被replace为替身。 但是,我不知道什么是通过请求发送图像到客户端的正确方法。 我使用socket.io为了沟通和发送JSON,但我相信你不能通过socket.io发送图像(或文件?)。 我在互联网上发现的唯一信息是关于使用AJAX请求上传文件到服务器,这是有用的,但仍然不告诉我如何问服务器的图片。 var id = 0; function addFriendElement() { $().add( '<div class="personTab" onclick="makeActive(this);">' + '<div class ="smallAvatar"><img src="img/testAvatar.png" alt="No avatar?"></div>' + '<div class ="nickname">' + id + '</div>' + '</div>').appendTo("#friendList"); id++; } 这就是我添加屏幕截图中看到的那些“标签”。 我想知道是否使用img标签也是不正确的。 提前致谢!

在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 […]

用node.js / io.js文件传输(压缩)

什么是通过tcp套接字在两个服务器之间传输二进制压缩文件(大约100MB,tar.gz)的正确方法。 一般来说,我的转换工作正常,但目标上传输的文件几乎是不可用的两倍。 client.js: var net = require('net'); var fs = require('fs'); //read file var myFile = fs.readFileSync('e:/test/console/deploy/test.tar.gz'); upload = function(ip, port, callback){ var client = new net.Socket(); // connect client.connect(port, ip, function () { console.log('Connecting ….'); // Send file client.end(myFile); }); } // end upload // Uploading file upload('127.0.0.1', '9001', function(reponse){ console.log(reponse) }); server.js: var […]

如何将文件发送到远程计算机?

我需要从节点服务器发送大文件到客户端,并需要将这些数据发送到远程计算机。 我已经写了这个代码,我应该怎么做,以便数据可以stream式传输到其他计算机? var fs = require ('fs'); var http = require ('http'); var path = require ('path'); http.createServer (function (req, res) { var filePath = path.join ('/home/cortana/Videos' + '/Annabelle.2014.HC.HDRip.XViD.AC3-juggs[ETRG].avi'); var stat = fs.statSync (filePath); res.writeHead (200, { 'Content-Type' : 'video/avi', 'Content-Length' : stat.size }); var readStream = fs.createReadStream (filePath); readStream.pipe (res); }).listen (8999, '0.0.0.0');