Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。
使用 Express 可以快速地搭建一个完整功能的网站。
要想使用express框架,就需要进行下载安装,只需在命令行输入npm install express ,然后通过require()进行导入
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var fs = require('fs');
var multer = require('multer');//需要下载
var urlencodedParser = bodyParser.urlencoded({ extended: false });
// 创建 application/x-www-form-urlencoded 编码解析
app.use(multer({ dest: '/tmp/'}).array('file'));//二进制流上传文件已经解析完成
app.use('/public',express.static('public'));
app.use('/favicon.ico',express.static('favicon.ico'));
app.get('/', function (req, res) {
res.send('根目录 <a href="/a?id=100">我是a<img src="/public/1.jpg"></a>');
})
app.get('/a',function(req,res){
res.send('我收到的参数是:'+req.query.id);
// res.send('我是a页面 <a href="/">返回</a>')
})
app.use('/upload',urlencodedParser,function(req,res){
if(req.method == 'GET'){
res.send(`<form action="" name="create" method="POST" enctype="multipart/form-data">
<input type="username" name="username">名称
<input type="password" name="password">密码
<input type="file" name="file">
<button type="submit">提交</button>
</form>`)
}else if(req.method == 'POST'){
var fileinfo = req.files[0].originalname.split('.'); //以点拆分文件后缀
var newname = new Date().getTime()+Math.ceil(Math.random()*10)+'.'+fileinfo[fileinfo.length-1];
//以上传时间区分,防止图片被覆盖
var des_file = __dirname + "/public/" +newname;
var readFile = fs.createReadStream(req.files[0].path);
var writeFile = fs.createWriteStream(des_file);
readFile.pipe(writeFile);
writeFile.on('finish',function(){
//经过解析之后,解析出来的数据放到req对象的files对象里面了
req.body.file = '/public/'+ newname;
res.send('<img src="'+req.body.file+'">'); //页面显示图片
})
}
})
//页面找不到时提示,要写在最后面
app.get('*',function(req,res){
res.send('当前页面不存在404')
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("应用实例,访问地址为 http://%s:%s", host, port)
})