如何在NodeJs中使用FS将文件从一个文件夹复制到另一个文件夹?

时间:2020-01-14 04:27:16

标签: node.js

我正在尝试使用Node的fs库将一个文件夹中的文件复制到另一个文件夹中,
但是我遇到了ENOENT: no such file or directory错误,
但是文件肯定在那里。

我的代码如下-

let fs = require('fs');
let util = require('util');

let copyFile = async() => {

  try {

    let fsCopyFile = util.promisify(fs.copyFile).bind(fs);
    let files = await fsCopyFile('/Users/aniruddhanarendraraje/Documents/work/pocs/node-crud-app/snippets/sharp/enhancedTest.jpg','/Users/aniruddhanarendraraje/Documents/work/pocs/node-crud-app/snippets/sharp2/enhancedTest.jpg');

  } catch (error) {
    console.error(error);
  }
};

copyFile();

错误-

enter image description here enter image description here

我也尝试过-

fsCopyFile('./sharp/enhancedTest.jpg','./sharp2/enhancedTest.jpg');

但是我遇到了同样的错误

2 个答案:

答案 0 :(得分:2)

这里使用的是Sharp2目录。但是您在注释中提到的Sharp2目录中不存在。

fsCopyFile不会自动创建目录。您应该手动创建目录。

如果要自动创建目录,请使用以下功能:

createDirectory(){
   var dir = '';  /* directory name */

   if (!fs.existsSync(dir)){
     fs.mkdirSync(dir);
   }
}

答案 1 :(得分:1)

这是使用流处理文件的方式。

form.keepExtensions = true;