Koa 多文件上传接口实现
以下是一个使用 Koa 实现接收多个文件的接口的示例:
const Koa = require('koa')
const koaBody = require('koa-body')
const fs = require('fs')
const app = new Koa()
// 配置 koaBody 中间件,用于解析请求体中的文件数据
app.use(koaBody({
multipart: true,
formidable: {
// 设置上传文件的存储路径
uploadDir: './uploads'
}
}))
// 定义接收多个文件的路由
app.post('/upload', async (ctx) => {
// 获取请求体中的文件数据
const files = ctx.request.files
// 遍历文件数据,将文件保存到本地
for (let key in files) {
const file = files[key]
const reader = fs.createReadStream(file.path)
const writer = fs.createWriteStream(`./uploads/${file.name}`)
reader.pipe(writer)
}
// 返回成功响应
ctx.body = '上传成功'
})
app.listen(3000, () => {
console.log('Server is running at http://localhost:3000')
})
在该示例中,我们使用了 koa-body 中间件来解析请求体中的文件数据。在路由处理函数中,我们遍历文件数据,将每个文件保存到本地的 './uploads' 目录中。最后返回一个成功响应。
原文地址: https://www.cveoy.top/t/topic/mBo3 著作权归作者所有。请勿转载和采集!