node.js删除文件

如何用node.js删除文件?

http://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_callback

我没有看到删除命令?

我想你想使用fs.unlink

更多关于fs信息可以在这里find。

您可以为asynchronousunlink(2)或fs.unlinkSync(path) fs.unlink(path, callback)asynchronousunlink(2)的fs.unlink(path, callback) )。
哪里path是你想要删除的文件path。

例如,我们要从c:/book目录中删除discovery.docx文件。 所以我的文件path是c:/book/discovery.docx 。 所以删除该文件的代码将是,

 var fs = require('fs'); var filePath = 'c:/book/discovery.docx'; fs.unlinkSync(filePath); 

如果你想在删除之前检查文件是否存在。 因此,使用fs.stat或fs.statSync ( Synchronous )而不是fs.exists 。 因为根据最新的node.js 文档 , fs.exists现在已经被弃用了

例如:-

  fs.stat('./server/upload/my.csv', function (err, stats) { console.log(stats);//here we got all information of file in stats variable if (err) { return console.error(err); } fs.unlink('./server/upload/my.csv',function(err){ if(err) return console.log(err); console.log('file deleted successfully'); }); }); 

这是我为此目的制作的一小段代码,

 var fs = require('fs'); var gutil = require('gulp-util'); fs.exists('./www/index.html', function(exists) { if(exists) { //Show in green console.log(gutil.colors.green('File exists. Deleting now ...')); fs.unlink('./www/index.html'); } else { //Show in red console.log(gutil.colors.red('File not found, so not deleting.')); } }); 

我想你不必检查文件是否存在, fs.unlink会为你检查。

 fs.unlink('fileToBeRemoved', function(err) { if(err && err.code == 'ENOENT') { // file doens't exist console.info("File doesn't exist, won't remove it."); } else if (err) { // other errors, eg maybe we don't have enough permission console.error("Error occurred while trying to remove file"); } else { console.info(`removed`); } }); 

作为接受的答案,使用fs.unlink删除文件。

但根据Node.js文档

在调用fs.open()之前使用fs.stat()检查文件是否存在,不推荐使用fs.readFile()fs.writeFile() 。 相反,用户代码应直接打开/读取/写入文件,并处理文件不可用时引发的错误。

要检查一个文件是否存在,而没有后来操作,build议使用fs.access()

检查文件是否可以被删除,改用fs.access

 fs.access('/etc/passwd', fs.constants.R_OK | fs.constants.W_OK, (err) => { console.log(err ? 'no access!' : 'can read/write'); }); 

您可以使用del模块删除当前目录中的一个或多个文件。 它的好处是保护您免受删除当前工作目录和以上。

 const del = require('del'); del(['<your pathere here>/*']).then( (paths: any) => { console.log('Deleted files and folders:\n', paths.join('\n')); }); 

这里的代码,你可以从文件夹中删除文件/图像。

 var fs = require('fs'); Gallery.findById({ _id: req.params.id},function(err,data){ if (err) throw err; fs.unlink('public/gallery/'+data.image_name); });