koa-body实现上传文件 分别保存自定义文件夹

如何使用 ndoe 实现上传文件,在使用 koa 开发过程中,使用 koa-body 不仅可以实现上传文件,还可以解析 POST 参数

配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
app.use(
koaBody({
multipart: true, // 支持上传文件
patchNode: true,
formidable: {
uploadDir: path.join(__dirname, 'uploads/'), // 上传文件路径
keepExtensi· ons: true, // 保持文件后缀
maxFieldsSize: 5 * 1024 * 1024, // 文件上传大小
onFileBegin: (name, file) => {
// 文件上传前的设置
let shop = name.split('|')[0]
let type = name.split('|')[1]
let ext = file.name.split('.')

// 判断保存路径是否存在,不存在则创建文件夹
let dir = path.join(__dirname, `uploads/${shop}`)
checkDirExist(dir)
dir = path.join(__dirname, `uploads/${shop}/${type}`)
checkDirExist(dir)

// 图片保存的实际路径
file.path = `${dir}\\${file.name}`
},
},
})
)
function checkDirExist (dir) {
if (!fs.existsSync(dir)) { fs.mkdirSync(dir) }
}
-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!
0%