节点 FS 找不到文件夹
Node FS not finding folder
我使用 Node 创建了一个文件夹,然后在该文件夹中有一个文件。我创建了一个删除它的功能,但它绝对拒绝找到该文件夹。
这是我的函数:
function deleteFile(path) {
if( !fs.existsSync(path) ) {
setTimeout(deleteFile(path), 500)
} else {
fs.readdirSync(path).forEach(function(file){
var curPath = path + "/" + file;
if(fs.lstatSync(curPath).isDirectory()) { // recurse
deleteFolderRecursive(curPath);
} else { // delete file
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(path);
}
}
它将继续递归,直到达到最大调用堆栈并崩溃,但该文件夹在此之前已经存在很长时间。如您所见,其中同时存在文件夹和文件。有人可以帮我解决这个问题吗?
如果其他人遇到这个问题,我已经解决了。创建文件夹时,它会提供不正确的权限。我事先使用 fs.chmod
更改权限,然后修复了它。
我使用 Node 创建了一个文件夹,然后在该文件夹中有一个文件。我创建了一个删除它的功能,但它绝对拒绝找到该文件夹。
这是我的函数:
function deleteFile(path) {
if( !fs.existsSync(path) ) {
setTimeout(deleteFile(path), 500)
} else {
fs.readdirSync(path).forEach(function(file){
var curPath = path + "/" + file;
if(fs.lstatSync(curPath).isDirectory()) { // recurse
deleteFolderRecursive(curPath);
} else { // delete file
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(path);
}
}
它将继续递归,直到达到最大调用堆栈并崩溃,但该文件夹在此之前已经存在很长时间。如您所见,其中同时存在文件夹和文件。有人可以帮我解决这个问题吗?
如果其他人遇到这个问题,我已经解决了。创建文件夹时,它会提供不正确的权限。我事先使用 fs.chmod
更改权限,然后修复了它。