Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

求解fs.existSync方法不准确,怎么办?

$
0
0

今天在写个上传的时候遇到了的问题,用了formidable中间件,这个东西不像multer那样可以自动创建文件夹,所以就想自己写个方法判断一下文件夹是否存在,不存在的话就创建一个。

问题就此出现,先上运行截图: 屏幕快照 2017-05-29 下午8.27.21.png

截图中可以看到fs.existSync将不存在的目录路径返回了true,期间也尝试了一下用其他方法(比如fs.accessSync,不存在的路径不会抛异常)都不行。。我开始怀疑人生了,是不是我哪里写错了?现在比较懵逼看不出来。。。下面是我的代码:

function mkdirsSync(dirpath) { 
    if (!fs.existsSync(dirpath)) {
        let pathtmp = '';
        dirpath.split(path.sep).forEach(function(dirname) {
            pathtmp = pathtmp ? path.join(pathtmp, dirname) : dirname;
            if(!pathtmp) {
                return;
            }
            console.log(pathtmp);
            if(!fs.existsSync(pathtmp)) {
                try {
                    fs.mkdirSync(pathtmp);
                } catch (err) {
                    console.log(err);
                }
            } else {
                console.log('Exist path %s', pathtmp);
            }
        });
    }
    return true; 
}

mkdirsSync('Users/nuxio/workspace/express-blog-api/server/public/upload/blog_imgs');

SOS~~~~~~


Viewing all articles
Browse latest Browse all 14821

Trending Articles