我正在尝试存储多个文件并动态创建 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