2017-01-23 26 views
0

我有一个node.js/socket.io项目。我在我的页面中使用Bootstrap,并在页面上动态显示图像。问题是我无法使用图像和Bootstrap文件。 Node.js/socket.io无法识别链接...我已经通过上传远程服务器上的所有Bootstrap文件解决了Bootstrap问题,它可以工作!但是我不能像我的图片一样使用本地文件。在我的node.js/socket.io项目中使用本地文件

如何“加载”一个图像文件夹,我可以使用它的图像?

这里是我的server.js:

var http = require('http').createServer(createServer); 
var fs = require('fs'); 
var url = require('url'); 
var nStatic = require('node-static'); 
var express = require('express'); 
var app = express(); 

function createServer(req, res) { 
    var path = url.parse(req.url).pathname; 
    var fsCallback = function(error, data) { 
     if(error) throw error; 

    res.writeHead(200); 
    res.write(data); 
    res.end(); 
} 

switch(path) { 
    case '/galerie.php': 
     doc = fs.readFile(__dirname + '/galerie.php', fsCallback); 
    break; 
    default: 
     doc = fs.readFile(__dirname + '/index.php', fsCallback); 
    break; 
} 

var io = require('socket.io').listen(http); 

io.sockets.on('connection', function (socket, pseudo) { 
... 
}); 
http.listen(8080); 

这工作:

<script src="http://website.ch/LivreOr/js/download.js"></script> 

但是,这并不工作:

<img src="../LivreOr/img/img.png"> 
+0

尝试把它添加到乌尔服务器'app.use(express.static(path.join(__目录名称,“公共”)));'然后创建文件夹命名的公众,如果你没有它和公共文件夹图像,并把所有的图像在那里 – JavaEvgen

+0

@JavaEvgen我在哪里必须把'app.use(express.static(path.join(__ dirname,'public')));'在我的代码? – DanyDC

+0

初始化你的快速应用程序 – JavaEvgen

回答

0

我已经解决了我的问题。以下是我已经改变了:

var express = require('express'); 
var app = express(); 
var server = require('http').createServer(app); 
var io = require('socket.io')(server); 
var fs = require('fs'); 

app.use(express.static(__dirname + '/public')); 

app.get('/galerie', function(req, res) { 
    res.sendFile(__dirname + '/galerie.html'); 
}); 

app.get('/', function(req, res) { 
    res.sendFile(__dirname + '/index.html'); 
}); 
//var io = require('socket.io').listen(http); 

io.sockets.on('connection', function (socket, pseudo) { 
... 
}); 
server.listen(8080); 
相关问题