实战篇笔记 扫码点餐小程序云开发(七)


上传文件

Multer 是一个 node.js 中间件,用于处理 multipart/form-data 类型的表单数据,它主要用于上传文件。

安装

npm install multer --save

NPM multer

使用

文件上传中间件

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 …


文章作者: April-cl
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 April-cl !
  目录