Node.js 如何在nodejs express中提供图像服务

Node.js 如何在nodejs express中提供图像服务,node.js,express,Node.js,Express,我有这个密码 var express = require('express'); var http = require('http'); var app = express(); var server = http.createServer(app); app.use(express.static(__dirname + '/uploads')); console.log("listen to 8080"); server.listen(8080); 我在/uploads/test.jp

我有这个密码

var express = require('express');
var http = require('http');

var app = express();
var server = http.createServer(app);

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

console.log("listen to 8080");
server.listen(8080);

我在
/uploads/test.jpg中有我的图像,但当我转到
http://localhost:8080/uploads/test.jpg
I get
无法获取/上传/测试。jpg

静态方法指示从哪个根文件夹提供静态内容。目前,您的图像将可从中访问

要提供子文件夹中的图像,您需要在
static
目录中创建此文件夹,例如

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

- public
-- uploads
---- test.jpg

app.use函数的默认值为“/”。当给出“/”以外的路由时,中间件句柄仅在路径段位于请求路径名中时才有用。例如,如果我们在“/example”中装入函数,它将在/example上调用,而不是在“/”处调用。因此,您的请求位于“/uploads/test.jpg” 这样做

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

现在,中间件安装在“/uploads”和“services”处,以及使用路径“/uploads”发出的任何请求,如GET/uploads/test.jpg等。

使用以下代码为名为public的目录中的图像、CSS文件和JavaScript文件提供服务

var express = require('express');
var app = express();
app.use(express.static('public'));
现在,您可以加载公共目录中的文件:

示例:

localhost:3000/images/kitten.jpg
localhost:3000/css/style.css
localhost:3000/js/app.js