我在本地环境中运行以下代码:
if (!fs.existsSync(dirName)){
fs.mkdir(dirName, function(err){
if(err){
console.log(err);
callback(err); // echo the result back
}else{
callback(null, result);
}
});
}else{
callback(null, result);
}
但是当我运行相同的代码时,我收到以下错误:
{"err":{"errno":-2,"code":"ENOENT","syscall":"mkdir","path":"public/img/profile/7f603130-6aee-11e6-9199-9308857da48d"
}}
这可能是我在linux服务器上创建目录的权限问题,但我不知道如何解决它。有什么想法吗?
答案 0 :(得分:0)
fs.mkdir()
只会创建一个目录。
在您的情况下,它将尝试在(假定为已存在的)目录7f603130-6aee-11e6-9199-9308857da48d
(相对于current working directory)中创建名为public/img/profile/
的目录。
如果上一个完整路径尚不存在,则会出现ENOENT
错误。
您可以使用mkdirp
之类的模块来创建所有中间目录。