1.express.static(root, [options])
express.static
是 Express 内置的唯一一个中间件。是基于 serve-static 开发的,负责托管 Express 应用内的静态资源。
root
参数指的是静态资源文件所在的根目录。
options
对象是可选的,支持以下属性:
(以上摘自官网API http://www.expressjs.com.cn/4x/api.html)
实际使用案例
1 var express=require('express'); 2 var app=express(); 3 app.use(express.static('public')); 4 app.get('/',function(req,res){ 5 res.send('hello express static'); 6 }) 7 8 var server=app.listen(8081,function(){ 9 var host=server.address().address 10 var port=server.address().port 11 console.log("running at http://%s:%s",host,port); 12 })
public是一个文件夹,里面存放了很多文件夹及文件,访问其中某个文件,如:public/images/bg.jpg
在浏览器中访问 http://127.0.0.1:8081/images/bg.jpg,其它访问类似
挂载虚拟路径
app.use('/pathname',express.static('public'));
在浏览器中访问 http://127.0.0.1:8081/pathname/images/bg.jpg
2.req.files
前端页面form表单的代码为:
<form class="" action="http://127.0.0.1:8081/fileload" method="post" enctype="multipart/form-data">
<input type="file" name="image" value="" size="50"><br>
<input type="submit" name="" value="文件上传">
</form>
req.files在使用过程中不起作用,解决方法为添加以下代码:
var bodyParser=require('body-parser');
var multer=require('multer');
在使用req.file[0].originalname的时候就不会报错(不能识别属性0)