Подтвердить что ты не робот

Как скопировать файл?

Как скопировать файл в Node.js?

Пример

+ /old
|- image.png
+ /new

Я хочу скопировать файл image1.png из старого в новый каталог.

Это не работает.

newFile = fs.createWriteStream('./new/image2.png');     
oldFile = fs.createReadStream('./old/image1.png');

oldFile.addListener("data", function(chunk) {
  newFile.write(chunk);
})

oldFile.addListener("close",function() {
  newFile.end();
});

Спасибо за ответ!

4b9b3361

Ответ 1

Предпочитаемый способ:

oldFile.pipe(newFile);

Ответ 2

newFile.once('open', function(fd){
    require('util').pump(oldFile, newFile);
});     

Ответ 3

Если вы хотите выполнить эту работу синхронно, просто прочитайте, а затем напишите файл напрямую:

var copyFileSync = function(srcFile, destFile, encoding) {
  var content = fs.readFileSync(srcFile, encoding);
  fs.writeFileSync(destFile, content, encoding);
}

Конечно, обработка ошибок и прочее всегда хорошая идея!

Ответ 4

fs.rename( './old/image1.png', './new/image2.png', function(err){
  if(err) console.log(err);
  console.log("moved");
});