简单做个图片上传前验证的接口
1.引入koa-router
const Router = require('koa-router');
const KoaBody = require('koa-body');
const router = new Router({
prefix: "/user" // 设置路由前缀
})
2.配置koa-body
// node模块引入
const path = require("path");
// 上传图片接口 auth是登录token验证的中间件,upload
router.post('/upload', auth, KoaBody({
multipart: true,
formidable: {
// uploadDir: path.join(__dirname, '../upload'), // 文件上传目标文件
keepExtensions: true, // 保留文件拓展名
maxFileSize: 2 * 1024 * 1024, // 设置上传文件大小最大限制,默认2M
onFileBegin(name, file) {
const fileTypes = ['image/jpeg', 'image/png']; // 图片支持的格式
if (!fileTypes.includes(file.mimetype)) {
console.error("不支持文件格式")
} else {
//属性 注意:file.filepath是文件的最终上传途径 这里我放在upload文件夹下的topic目录
file.filepath = path.join(__dirname, '../upload/topic', file.newFilename);
}
},
onError: (err) => {
console.error(err);
}
}
}), upload)
3.结尾
auth 和 upload中间件的逻辑比较简单,大家可以参考其它大神的QAQ