我想将图像发布到服务器。但是在此之前,我要确保已创建目录,然后再将图像放置到正确的文件夹中。我要创建的文件夹为year/month/day/[image]
。我可以在本地PC上生成该文件夹,但是当我想在服务器上应用该文件夹时,会显示一条错误消息,并且没有创建该文件夹。我不知道自己犯了什么错误,希望有人可以帮我解决这个问题。
预先谢谢你。
PWD
错误
返回binding.mkdir(pathModule._makeLong(path),错误:ENOENT:否 这样的文件或目录,mkdir '/ home / eis / development / eis-api-dev / picture / 2020/06/01 /'
代码
var storage = multer.diskStorage({
destination: function (req, file, cb) {
///output: home/eis/development/eis-api-dev/picture/2020/06/01/
const dir = path.join(__dirname,_const.IMAGE_FILE_PATH+_const.generateImagePath(null,null,null));
console.log("path:"+dir);
fs.exists(dir,exists =>{
if(!exists){
//mkdirp.sync(dir);
return fs.mkdirSync(dir,{recursive: true},error => cb(error,dir));
}
return cb(null,dir)
});
},
filename: function (req, file, cb) {
cb(null, file.originalname)
}
})
答案 0 :(得分:0)
尝试使用mkdirp创建
if (!fs.existsSync(directoryPath)){
mkdirp(directoryPath, function (err) {
if (err) {
console.log("Error Creating Directory "+directoryPath);
}
else {
console.log("Creating Directory "+directoryPath);
}
}
答案 1 :(得分:0)
我只需要升级最新的nodejs版本及其工作。
答案 2 :(得分:0)
const fs = require('fs');
const path = 'newfolder/xyz/';
fs.exists(path, exists => {
if (exists) {
console.log('The directory exists...!!');
}
else {
fs.mkdir(path, { recursive: true }, (error) => {
console.log(error);
if (error)
// print or display your error
else {
return path;
}
});
}
});