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

我的快递程序如下::

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

我的代码哪里出了问题

4

2 回答 2

2

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

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

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

于 2013-09-20T04:01:54.793 回答
1

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

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

或者

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

使用您要服务的目录的绝对路径

于 2016-10-02T08:10:48.177 回答