在expressjs中显示一个简单的图像

时间:2013-09-20 04:00:15

标签: node.js express

  • 我有一个名为image.jpg的图像存储在位置 快递文件夹中的/public/images/images.jpg

我的快递程序位于以下位置

var express = require('express')
  , http = require('http')
  , mysql = require('mysql'); // <---- HERE

var app = express();

var connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: "root",
    database: 'test123'
});

connection.connect(); // <---- AND HERE

// all environments
app.set('port', process.env.PORT || 7005);


app.get('/',function(request,response){
connection.query('SELECT * FROM MyTable', function(err, rows, fields)

    {
            console.log('Connection result error '+err);
            console.log('no of records is '+rows.length);
                    response.writeHead(200, { 'Content-Type': 'application/json'});
            response.end(JSON.stringify(rows));
    });

} );



http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});

我无法在我提供的地方显示图片

http://54.218.73.244:7005/image.jpg

我的代码在哪里出错

2 个答案:

答案 0 :(得分:2)

Express不处理服务资产或静态文件。但是,static()中间件是为此目的而编写的。只需添加以下代码:

app.use(express.static('/public/images'));

此中间件将启动挂载到/的静态文件服务器,并将提供/public/images目录中的文件。访问http://url.ext/image.jpg将从/public/images/image.jpg提供图像文件。

答案 1 :(得分:1)

您可以使用express.static内置中间件功能:

app.use(express.static('images'));

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

使用您要提供的目录的绝对路径