11
votes

Déplacer le fichier dans expressjs / nodejs

J'essaie de déplacer le fichier téléchargé de / tmp vers home à l'aide de nœudjs / expressjs: xxx

mais il n'a pas fait 'T Travailler et aucune erreur rencontrée. Mais lorsque le nouveau chemin est également dans / tmp , qui fonctionnera.

im en utilisant ubuntu, home est dans une partition différente. N'importe quel correctif?

merci


0 commentaires

4 Réponses :


20
votes

Oui, Fs.Rename ne bouge pas le fichier entre deux disques / partitions différents. C'est le comportement correct . fs.rrename fournit une fonctionnalité identique à Renommer (2) sous Linux.

Lire le problème associé Publié ici .

Pour obtenir ce que vous voulez, vous devriez faire quelque chose comme ceci: xxx


0 commentaires

11
votes

Un autre moyen est d'utiliser fs.writefile code>. fs.unlink code> in Callback supprimera le fichier Temp du répertoire TMP.

var oldPath = req.files.file.path;
var newPath = ...;

fs.readFile(oldPath , function(err, data) {
    fs.writeFile(newPath, data, function(err) {
        fs.unlink(oldPath, function(){
            if(err) throw err;
            res.send("File uploaded to: " + newPath);
        });
    }); 
}); 


2 commentaires

Quelles sont les données dans cela? Et comment puis-je l'obtenir de l'objet de la demande?


Quel sera le nouveau chemin?



1
votes

Cet exemple pris de: nœud.js en action

une fonction de déplacement () qui renomme, si possible, ou tombe à la copie xxx


0 commentaires

2
votes

Solution ES6 mise à jour prête à être utilisée avec des promesses et async / attendre: xxx


0 commentaires