新增知识点
//上传图片
//1.修改useradd.ejs样式,把上传样式写好
表单修改enctype
enctype = "multipart/form-data" //文件数据
enctype = "application/x-www-form-urlencoded" //文本数据
//2.在public文件夹下新建uoloads文件夹,将上传的图片放里面
//2.1下载formidable模块(用于解析上传文件)
cnpm install formidable--save
// 2.2 在user_router引入模块
let formidable = require('formidable');
//<1>实例化一个表单对象
const form = new formidable.IncomingForm();
//<2>配置图片存放的路径
form.uploadDir = __dirname.slice(0, -6) + "public\\uploads";
//<3>将来用于图片重命名的路径
let pathUrl = __dirname.slice(0, -6) + "public";
//<4>解析表单提交的数据
form.parse(req, async (err, fields, files) => {
//存到数据库中的图片路径
let imgPath = '\\uploads\\' + Date.now() + files.img.originalFilename;
//因为图片上传没有后缀名所以要重命名 fs.rename(老路径,新路径)
fs.renameSync(files.img.filepath, pathUrl + imgPath);
})
笔记
新增的目录