// 引入模块
const formidate = require(‘formidable‘);
const path = require(‘path‘);
const { Article } = require(‘../../model/acticle‘);
module.exports = (req, res) => {
// 1. 创建表单解析对象
const form = new formidate.IncomingForm();
// 2. 配置上传文件的上传位置
form.uploadDir = path.join(__dirname, ‘../‘, ‘../‘, ‘public‘, ‘uploads‘);
// 3 保留上传文件的后缀
form.keepExtensions = true;
// 4 解析表单
form.parse(req, async(err, fields, files) => {
// 1 err 错误对象 如果表单解析是不 err 里面存储错误信息 如果解析成功 err 将会是 null
// 2 fields 对象类型 保存普通表单数据
// 3 files 对象类型 保存了和上传文件相关的数据
// console.log(files.cover.path.split(‘public‘)[1]);
// res.send(files.cover.path.split(‘public‘)[1]);
await Article.create({
title: fields.title,
author: fields.author,
publishDate: fields.publishDate,
cover: files.cover.path.split(‘public‘)[1],
content: fields.content
});
// 添加成功 重定向到列表页
res.redirect(‘/admin/article‘);
})
}