使用Node.js我得到,"错误:EISDIR,阅读"

Eva*_*oll 49 node.js

我什么时候试着打开一个文件,

events.js:72
        throw er; // Unhandled 'error' event
Error: EISDIR, read
Run Code Online (Sandbox Code Playgroud)

Eva*_*oll 77

这个错误很简单,

cd /tmp
mkdir dir
node -e "var fs = require('fs'); fs.createReadStream( 'dir' );"
Run Code Online (Sandbox Code Playgroud)

EISDIR意味着操作的目标是在现实中的目录,但该目标的预期文件类型是什么其他的不是目录.

  • 这让我久等了.好像我错误地回答了我自己的问题,我需要时间思考它.怪杰夫. (5认同)

Moh*_*ere 6

EISDIR 当您尝试打开文件时出现错误,但是给定的路径是目录。

您可以通过检查它是否位于目录中来解决此问题-

if (fs.lstatSync(filePath).isDirectory()) {
  return;
}
Run Code Online (Sandbox Code Playgroud)

有关更多参考,请参见此处的文档。