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); });