如何删除fs.lstat创建的临时文件?

时间:2014-02-27 10:22:03

标签: node.js fs

我在下面有一个简单的方法,检查目录是否存在。我注意到,当 fs.lstat 被调用时,它会创建,看起来像临时文件,其名称的行是'12116-ocskz3'

为什么lstat会创建这些临时文件以及如何删除它们?

self.checkDirectory = function (callback) {
    fs.lstat(uploadDir, function (err, stats) {
        // Linux fielsystem manual - http://linux.die.net/man/2/lstat
        if (!err && stats.isDirectory()) {

            //Directory exists
            console.log('This directory already exists!');

            if (typeof(callback) == 'function') {
                callback(true, uploadDir);
            }

        } else if (err.code === 'ENOENT') {
            // ENOENT - A component of path does not exist, or path is an empty string.
            console.log(err.code + ': This directory doesn\'t exists!');

            if (typeof(callback) == 'function') {
                callback(false, uploadDir);
            }

        }
    });
};

2 个答案:

答案 0 :(得分:0)

lstat不会创建任何临时文件


编辑:好的,正如在评论中发现的那样,multipart模块正在创建它们。它的博客是several times,只是在某个地方搜索它。

最简单的解决方案是不使用bodyParser(正是由于这个原因,它已被弃用),请改用express.json()express.urlencoded()。如果您确实需要上传文件,请阅读docs有关如何处理它们的信息。它应该在req.files afair的某个地方。

答案 1 :(得分:0)

问题是由表单元素上的encrypt属性引起的,其值如下所示:

enctype="multipart/form-data 

我认为多部分正在被未来版本中更有利的东西取代,临时文件的问题是我认为的原因之一。