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