我正在开发一个node.js应用程序,我想知道这是否可能,如果是这样,如何:在我启动服务器后,node.js应该在服务器端打开一个新窗口并显示从代码生成的图像。Node.js:如何在服务器端打开图像窗口?
回答
它不是好的方法来打开服务器端的任何窗口,因为服务器将被各种用户访问。
但是,如果你想这样做,你可以使用nodejs的child_process模块,并执行该图像的扩展名。
例
var exec = require('child_process').exec,
child;
child = exec('<image with location & extension>',
function (error, stdout, stderr) {
console.log('Image opened');
if (error !== null) {
console.log('exec error: ' + error);
}
});
你好用特快世界的例子。
var express = require('express');
var app = express();
app.get('/', function (req, res) {
var exec = require('child_process').exec,
child;
child = exec('a.jpg',
function (error, stdout, stderr) {
console.log('Image opened');
if (error !== null) {
console.log('exec error: ' + error);
}
});
res.send('Hello World!');
});
var server = app.listen(3000, function() {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
完美,谢谢!拥有多个用户并不是问题,因为我打算打开一个在服务器运行时可见的图像。 – eko
如果你的要求,那么它的好,:) –
这是不可能的,从我的经验(从你的代码在大多数情况下甚至)打开来自服务器端的一个新窗口。我会做的是使用一些JavaScript代码使页面上的内容动态变化(例如,查看angularjs)并将图像显示在同一页面上,即使稍后在服务器端生成图像。 另一种选择是从该图像的客户端代码中打开一个新选项卡。
什么是不可能的 –
您可以使用open在浏览器中打开,并带有图片网址。可以使用Node-Webkit而不是nodejs。
全码:
var fs = require('fs'),
http = require('http'),
url = require('url'),
open = require('open');
http.createServer(function(req, res) {
var request = url.parse(req.url, true);
var action = request.pathname;
if (action == '/yourimage.png') {
var img = fs.readFileSync('./yourimage.png');
res.writeHead(200, {
'Content-Type': 'image/png'
});
res.end(img, 'binary');
}
}).listen(8080, '127.0.0.1');
open('http://127.0.0.1/yourimage.png');
链接:
- How to use nodejs to open default browser and navigate to a specific URL
- How to serve an image using nodejs
节点的Webkit:
如果您使用node-webkit,您可以制作一个窗口(使用html/css)。
- 1. 如何确定端口是否在Windows服务器上打开?
- 2. 如何在linux ubuntu服务器上打开特定端口
- 3. 在服务器上时,端口如何在Node.js中工作?
- 4. 从Windows服务打开对话窗口
- 5. 在服务器中打开模式窗口
- 6. 如何使用javascript从客户端打开Outlook任务窗口
- 7. 在同一个端口上打开多个服务器
- 8. 如何控制Amber Smalltalk node.js服务器使用哪个端口?
- 9. 如何在窗口服务
- 10. HTML5CANVAS:如何保存并重新打开服务器的图像
- 11. 如何在客户端上打开新的浏览器窗口,而不是一个服务器
- 12. 如何在我的amazon ec2服务器上打开端口2195和443?
- 13. 如何打开android模拟器的终端窗口?
- 14. 如何打开“连接到服务”窗口并验证网站?
- 15. 如何在新的浏览器窗口中打开MVC视图
- 16. 如何使ASP.NET开发服务器在端口80上运行?
- 17. 多个asp.net开发服务器端口
- 18. socket.io,node.js将图像从服务器转发到客户端
- 19. 如何从服务器端(asp.net)触发窗口打印对话框?
- 20. 如何打开弹出窗口包含UIview或图像
- 21. 如何链接图像并打开一个新窗口
- 22. 打开jQuery对话框服务器端
- 23. 如何在mac上用终端在firefox中打开新窗口
- 24. 没有打开端口的红宝石网络服务器
- 25. 使用iPhone作为TCP和UDP服务器 - 打开端口?
- 26. .net 4连接到SQL服务器打开tcp端口问题
- 27. GIO打开服务器端口的例子?
- 28. 批处理文件打开服务器端口
- 29. 端口2195打开但无法访问APNS服务器
- 30. 像框 - 在新窗口中打开
与软件的完美结合,几乎任何事情都有可能 –
@eko见开放模块。 –