求解,无法删除 上传文件遗留的临时文件
发布于 3年前 作者 chihuohuo 1167 次浏览

指定node app目录tmp为临时文件夹,上传图片之后里面会有大量临时文件 下面是我清除临时文件的代码:

    //console.log(files);
    files.forEach(function(file){
        console.log(file);
        fs.unlink(file, function(){
            console.log('=============');
            console.log(file);
        });
    });
});```

文件都打印出来了,unlink里也打印出来了,执行完之后tmp 里头的文件一个没少,没有报错,

上面是用遍历批量删除文件的(顺便问一句,node有可以直接清空文件夹的方法么),
可是我换成下面这种,只删除一个文件,竟然就成功了,
```fs.unlink('./tmp/350d03ee9e75e042081385cb7fa9429e', function(){
    console.log(fs.readdirSync('./tmp'));
});```
小弟不知所谓,求大虾解释~


另外,说句与问题无关 的,貌似上面代码不像JS,竟然可以不用闭包就可以使第一次和第二次打印file次序一致,牛掰
1 回复

擦,找到问题了,原来file打印出的只是文件名,不包含路径!

回到顶部