【问题标题】:Node.js Error: EISDIR, open ErrorNode.js 错误:EISDIR,打开错误
【发布时间】:2015-09-03 23:37:55
【问题描述】:

我正在尝试使用 node.js 将一个文件夹复制到另一个文件夹路径:-

D:\node\files\11\j1_1\j1_2\j1_3 我想将文件夹 j1_3 复制到路径 D:\node\files\11\j1_1\

这是我的代码:-

var source = fs.createReadStream(old);
var dest = fs.createWriteStream(newp);
source.pipe(dest);
source.on('end', function () { /* copied */ });
source.on('error', function (err) {
    console.log("hi");
    /* error */
});

但我收到此错误:-

events.js:72
    throw er; // Unhandled 'error' event
          ^
 Error: EISDIR, open 'D:\node\files\11\j1_1'

我也尝试了 fs.rename 函数,但得到了同样的错误。

【问题讨论】:

  • 一个额外的说明。您在写入流中遇到的错误是因为 fs 不会自动将新文件名附加到 dest。哪个 cp 和 ncp 可以,所以要解决这个问题,您还可以将新文件名添加到 dest 而不是使用 ncp / cp。导致:newp + path.basename(old);
  • @Bram 感谢您提供信息 :)

标签: javascript node.js


【解决方案1】:

首先:EISDIR的意思是“错误!目标是一个目录”(我猜),about the error

第二:ncp 我猜是你需要的

【讨论】:

    猜你喜欢
    • 2015-11-03
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 2012-09-02
    相关资源
    最近更新 更多