正常文件上传之后,在上传的文件夹中的文件名,并不是我们想要的标准的文件名,于是就存在在文件上传之后要为文件改名,一般文件的上传要用到formidable这个第三方模块
var formidable = require('formidable') router.post('/changeheadpic', function(req, res, next) { var form = new formidable.IncomingForm(); form.uploadDir = path.join(__dirname, "../picture"); //文件上传路径 form.parse(req, function(err, fields, files) { //点击提交就会把图片上传到files中,files.headimg.path获得的是upload...所以要对这个已经上传到文件夹的文件改名 var newname = path.join(__dirname, '../picture/' + files.headimg.name) fs.rename(files.headimg.path, newname, function(err, ) { if (err) { throw err } console.log(newname); res.json({ imgname: files.headimg.name }) }) }); })这里的文件上传路径为
form.uploadDir = path.join(__dirname, "../picture"); //文件上传路径但是这样上传的文件名通常为upload…什么的非常不利于后期的操作 于是就要为文件改名,这时就要用到一个核心模块fs
var fs=require('fs') fs.rename(oldname,newname,function(err){ if(err){ throw err } }