Node Multer - 动态创建文件夹并存储多个文件

时间:2021-07-02 14:05:07

标签: node.js multer

我正在尝试存储多个文件并动态创建 multer diskStorage

import { access, mkdir } from 'fs'


let counter = 1

const storage = multer.diskStorage({
  destination: async (req, file, cb) => {
    const { domain } = req.query
    const dir = resolve(`tmp_${domain}`)
    access(dir, function (error) {
      if (error) {
        return mkdir(dir, (error) => cb(error, dir))
      } else {
        return cb(null, dir)
      }
    })
  },
  filename: (req, file, cb) => {
    counter++
    cb(null, file.originalname + counter)
  }
})


const upload = multer({ storage: storage })

router.put('/', upload.array('files', 5), async (req, res) => {...

第一次没有文件夹时我收到此错误,但我收到了文件夹,没有文件

`[Error: EEXIST: file already exists, mkdir `

然后第二次当文件夹存在时,它可以工作,但是通过添加计数器所以我没有得到 file exists 位,这很奇怪,因为文件具有不同的 originalname

0 个答案:

没有答案
相关问题