我有一个循环浏览文件夹(fs.readdir
)的函数,并使用fs.unlink
为每个文件删除其中的所有文件。
问题是某些文件有特殊字符而无法删除,因为我收到此错误:
Error: ENOENT, no such file or directory './temp_files/Some�s in File�dio.txt'
显然,问题是因为???。但我还没有办法解决它。
我该怎么做?
答案 0 :(得分:0)
我对此没有答案。我要做的是在上传文件时更改文件名。在我的情况下,我在后端使用MULTER和NODE.JS,因此可以达到目的:
storage = multer.diskStorage({
destination: ....,
filename: function(req, file, cb) {
let newName = file.originalname
.normalize('NFD')
.replace(/[\u0300-\u036f]/g, '');
newName = newName
.split(' ')
.join('_')
.toLowerCase();
cb(null, newName);
}
});
它的作用是删除每个特殊字符,删除所有也会引起麻烦的空格原因,并用下划线替换。希望它对您有用