nœud.js supprimer le fichier

Comment supprimer un fichier avec noeud.js?

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

Je ne vois pas de commande Supprimer?

437
demandé sur Ifnot 2011-03-15 19:55:43

12 réponses

je pense que vous voulez utiliser fs.unlink .

plus d'informations sur fs peuvent être trouvées ici .

622
répondu Nick 2015-08-11 15:58:06

vous pouvez appeler fs.unlink(path, callback) pour unlink asynchrone(2) ou fs.unlinkSync(path) pour unlink synchrone(2).

path est file-path que vous voulez supprimer.

par exemple, nous voulons supprimer le fichier discovery.docx du répertoire c:/book . Donc mon chemin de fichier est c:/book/discovery.docx . Donc le code pour supprimer ce fichier sera,

var fs = require('fs');
var filePath = 'c:/book/discovery.docx'; 
fs.unlinkSync(filePath);
162
répondu sourcecode 2016-10-22 13:41:55

si vous voulez vérifier le fichier avant de supprimer s'il existe ou non. Donc, utilisez fs.stat ou fs.statSync ( synchrone ) au lieu de fs.exists . Parce que d'après le dernier nœud.js documentation , fs.exists maintenant obsolète .

par exemple: -

 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');
   });  
});
49
répondu vineet 2017-07-25 06:06:12

est Ici un petit extrait de j'ai fait à cette fin,

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.'));
  }
});
24
répondu Stranger 2016-03-02 10:23:31

Je ne pense pas que vous devez vérifier si le fichier existe ou non, fs.unlink le vérifiera pour vous.

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, e.g. maybe we don't have enough permission
        console.error("Error occurred while trying to remove file");
    } else {
        console.info(`removed`);
    }
});
20
répondu Searene 2018-04-16 02:04:45

comme réponse acceptée, utilisez fs.unlink pour supprimer les fichiers.

mais selon noeud.js documentation

utiliser fs.stat() pour vérifier l'existence d'un fichier avant d'appeler fs.open() , fs.readFile() ou fs.writeFile() n'est pas recommandé. Le code utilisateur devrait plutôt ouvrir/lire / écrire le fichier directement et gérer l'erreur soulevée si le fichier n'est pas disponible.

Pour vérifier si un fichier existe sans le manipuler par la suite, fs.access() est recommandé.

pour vérifier les fichiers peuvent être supprimés ou non, utilisez fs.access à la place

fs.access('/etc/passwd', fs.constants.R_OK | fs.constants.W_OK, (err) => {
  console.log(err ? 'no access!' : 'can read/write');
});
5
répondu jasperjian 2017-03-22 01:52:07

vous pouvez utiliser del module pour supprimer un ou plusieurs fichiers dans le répertoire courant. ce qui est agréable, c'est que cela vous protège contre la suppression du répertoire de travail courant et au-dessus.

const del = require('del');
del(['<your pathere here>/*']).then( (paths: any) => {
   console.log('Deleted files and folders:\n', paths.join('\n'));
});
1
répondu amazia 2017-04-21 07:10:26

ici sous mon code qui fonctionne très bien.

         fs.unlink(__dirname+ '/test.txt', function (err) {            
              if (err) {                                                 
                  console.error(err);                                    
              }                                                          
             console.log('File has been Deleted');                           
          });                                                            
1
répondu thavaamm 2018-04-06 05:53:13

Use npm module fs-extra , qui vous donne tout en fs, plus tout est promis. En prime, il y a un fs.supprimer () la méthode disponible.

0
répondu Jeff Breadner 2018-02-21 23:24:52

vous pouvez utiliser fs.unlink(chemin d'accès, callback) de la fonction. Voici un exemple de la fonction wrapper avec "erreur" modèle:

// Dependencies.
const fs = require('fs');

// Delete a file.
const deleteFile = (filePath, callback) => {
  // Unlink the file.
  fs.unlink(filePath, (error) => {
    if (!error) {
      callback(false);
    } else {
      callback('Error deleting the file');
    }
  })
};
0
répondu Oleksii Trekhleb 2018-09-20 10:56:27

supprime les fichiers du répertoire qui correspondent à regexp pour le nom de fichier. Utilisé seulement fs.unlink - pour supprimer le fichier, fs.readdir - pour obtenir tous les fichiers à partir d'un répertoire

var fs = require('fs');
const path = '/path_to_files/filename.anyextension'; 

const removeFile = (fileName) => {
    fs.unlink(`${path}${fileName}`, function(error) {
        if (error) {
            throw error;
        }
        console.log('Deleted filename', fileName);
    })
}

const reg = /^[a-zA-Z]+_[0-9]+(\s[2-4])+\./

fs.readdir(path, function(err, items) {
    for (var i=0; i<items.length; i++) {
        console.log(items[i], ' ', reg.test(items[i]))
        if (reg.test(items[i])) {
           console.log(items[i])
           removeFile(items[i]) 
        }
    }
});
0
répondu Xenia Lvova 2018-09-29 16:57:25

ici le code où vous pouvez supprimer le fichier / l'image du dossier.

var fs = require('fs'); 
Gallery.findById({ _id: req.params.id},function(err,data){ 
    if (err) throw err;
    fs.unlink('public/gallery/'+data.image_name);
 });
-2
répondu Mahesh singh chouhan 2017-07-18 08:28:16