nodejs 上传文件
余温
2018年05月18日 00时53分
web
这是代码有注释的
var express = require('express'); var bodyParser = require('body-parser') var fs = require('fs'); var multer = require('multer'); var path = require("path") var upload = multer({ dest: 'uploads/' }) app = express(); //解析post内容的中间件 var urlencodedParser = bodyParser.urlencoded({ extended: false }) //app.use(bodyParser.json()); //使其能渲染html文件 app.engine('.html', require('ejs').__express); app.set('view engine', 'html'); //模板路径 app.set('views', './views'); //首页 app.get('/', function(req, res) { res.render('index'); }) //post页面 app.get('/post', function(req, res) { res.render('post'); }) //post 上传信息 req.body.name获取上传的表单信息 app.post('/post', urlencodedParser, function(req, res) { console.log(req.body.name) res.send('上传的数据是: ' + req.body.name); }); //上传文件 app.post('/file', upload.single('files'), function(req, res) { console.log(req.file); //上传上来的文件信息 console.log(req.file.path); //文件保存的路径和文件名 console.log(path.parse(req.file.originalname)); //文件原始的文件名 // req.file.pat 上传上来保存的文件路径和文件名 没有后缀名称 // path.parse(req.file.originalname).ext 取到文件的后缀名称 // http://www.runoob.com/nodejs/nodejs-path-module.html 文档放地址 // 新的文件名 newName var newName = req.file.path + path.parse(req.file.originalname).ext; //修改文件名称 fs.rename fs.rename(req.file.path, newName, function(error) { if (error) { res.send('上传失败'); } else { res.send('上传成功'); } }); res.send('OK'); }); var server = app.listen(8081, function() { var host = server.address().address var port = server.address().port console.log("应用实例,访问地址为 http://%s:%s", host, port) })
前台页面就是一个单纯的表单
这是目录结构
找个好看的图片睡觉了
请登陆后评论
{{vo.time}} 回复