我在下面有一个简单的方法,检查目录是否存在。我注意到,当 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);
}
}
});
};
答案 0 :(得分:0)
lstat不会创建任何临时文件
编辑:好的,正如在评论中发现的那样,multipart
模块正在创建它们。它的博客是several times,只是在某个地方搜索它。
最简单的解决方案是不使用bodyParser(正是由于这个原因,它已被弃用),请改用express.json()
和express.urlencoded()
。如果您确实需要上传文件,请阅读docs有关如何处理它们的信息。它应该在req.files
afair的某个地方。
答案 1 :(得分:0)
问题是由表单元素上的encrypt属性引起的,其值如下所示:
enctype="multipart/form-data
我认为多部分正在被未来版本中更有利的东西取代,临时文件的问题是我认为的原因之一。