Nodejs上传多个图像-当不存在时创建目录



Im使用nodejs和multer上传多个图像。Firsat检查目录是否存在。否则将创建。

错误:当文件夹不存在时,所有图像都通过了第一个条件fs.access,并给出消息";目录不存在"但是随后创建dir,使得第二图像得到错误";目录存在";。

var storage = multer.diskStorage({
destination: (req, file, cb) => {
const userId = encryptFolder(req.params["id"]);
const dtrToCreate = "C:/Users/User/Pictures/" + userId;
fs.access(dtrToCreate, (error) => {
if (error) {
console.log("Directory does not exist.", userId);
fs.mkdirSync(dtrToCreate, (error, data) => {
if (error) {
throw error;
}
cb(null, "C:/Users/User/Pictures/"); 
});
} else {
console.log("Directory exists.", userId);
cb(null, "C:/Users/User/Pictures/");
}
});
},

当目录存在时,成功上传图像。

工作解决方案:

由于有多个文件,所以每次文件通过时都应该有一个递归功能来检查文件夹是否存在。

fs.mkdirSync(dtrToCreate, { recursive: true })
return cb(null, dtrToCreate)

最新更新