2017-01-23 17 views
0

私はnode.js/socket.ioプロジェクトを持っています。私は自分のページにBootstrapを使用していて、自分のページに画像を動的に表示します。問題は、イメージとブートストラップファイルを使用できないことです。 Node.js/socket.ioはリンクを認識しません...私は離れたサーバー上のすべてのブートストラップファイルをアップロードすることでブートストラップの問題を解決しました。しかし、自分のイメージのようなローカルファイルは使用できません。私のnode.js/socket.ioプロジェクトのローカルファイルを使用

イメージフォルダからイメージを使用できるイメージフォルダを「ロード」するにはどうすればよいですか?

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

をしかし、これは動作しません:

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); 

これは動作します:私は私の問題を解決した

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

これをurサーバ 'app.use(express.static(__ dirname、 'public')));に追加してくださいそれを公共の中に入れてフォルダイメージを置いておかないでください。 – JavaEvgen

+0

@JavaEvgenどこに 'app.use(express.static(path.join(__ dirname、 'public'));'を入れなければなりませんか?コード? – DanyDC

+0

明示的なアプリケーションを初期化した後 – JavaEvgen

答えて

0

は、ここに私のserver.jsです。ここに私が変更したものがあります:

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); 
関連する問題