Ответ 1
Предпочитаемый способ:
oldFile.pipe(newFile);
Как скопировать файл в 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();
});
Спасибо за ответ!
Предпочитаемый способ:
oldFile.pipe(newFile);
newFile.once('open', function(fd){
require('util').pump(oldFile, newFile);
});
Если вы хотите выполнить эту работу синхронно, просто прочитайте, а затем напишите файл напрямую:
var copyFileSync = function(srcFile, destFile, encoding) {
var content = fs.readFileSync(srcFile, encoding);
fs.writeFileSync(destFile, content, encoding);
}
Конечно, обработка ошибок и прочее всегда хорошая идея!
fs.rename( './old/image1.png', './new/image2.png', function(err){
if(err) console.log(err);
console.log("moved");
});