上传文件
Multer 是一个 node.js 中间件,用于处理 multipart/form-data 类型的表单数据,它主要用于上传文件。
安装
npm install multer --save
使用
文件上传中间件
const multer = require('@koa/multer')
const storage = multer.diskStorage({
// 配置上传文件的目录
destination: (req, file, cb) => {
cb(null, 'upload/image')
},
// 更改文件名防止重名
filename: (req, file, cb) => {
console.log(file)
let fileFormat = (file.originalname).split('.')
console.log(fileFormat)
let num = `${Date.now()}-${Math.floor(Math.random()*10000000)}${'.'}${fileFormat[fileFormat.length-1]}`
console.log(num)
}
})
const upload = multer({storage})
module.exports = {upload}
路由页
const router = require('koa-router')()
const {upload} = require('../../cos/cos.js')
router.post('/uploadres', upload.single('file'), async ctx => {
console.log('111111')
})
module.exports = router.routes()
在 postman 中向 localhost:5000/api/uploadres
发送 POST
请求可看到文件已保存以及服务端响应
单纯想吐个槽😑
原本做的时候是没问题的,第二天才想着要截图又重新在 postman 发个请求结果死活发不过去,看 commit 也没修改过什么嘛,重新来一遍也不行,后来把 console.log 注释就可以了( ̄. ̄)写代码是一门玄学,平心静气,love & peace …