正常文件上传之后,在上传的文件夹中的文件名,并不是我们想要的标准的文件名,于是就存在在文件上传之后要为文件改名,一般文件的上传要用到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
}
}