【问题标题】:I am trying to access a folder outside of the current directory of my folder in express js我正在尝试在 express js 中访问我的文件夹当前目录之外的文件夹
【发布时间】:2020-12-24 00:02:51
【问题描述】:

它们是我文件夹中的两个文件夹,一个用于前端,一个用于后端

project
├── back-end
│   ├── public
│   └── routes
│       ├── Calling.js
│       └── index.js
└── front-end
    ├── public
    └── src
        └── Components
            └── Contact.js

我正在尝试使用 sendFile() 从后端调用前端文件

app.get('/', function(req,res,next){
    
    res.sendFile(path.join(
        __dirname,
        '../back-end',
        '/front-end/src/Components/Contact'
    ))
   
})

在运行时(npm start)文件夹没有切换回前端,它被认为是后端的文件夹并且没有显示这样的文件目录

这是错误信息

ENOENT: no such file or directory, stat 'D:\Project\back-end\routes\front-end\contact-form\src\Components\Contact'

【问题讨论】:

  • 我认为您需要仔细检查您对本地文件系统的描述。它的格式似乎与您的预期不符。
  • 我解决了这个问题。现在请检查我上面提到的本地文件系统的目录
  • 您还没有修复您的 FS 代码。它没有按照您的意图显示。我能说出来,因为我可以编辑您的帖子并查看您写的原文。如果您希望人们免费帮助您,您最好确保您的帖子准确反映您的意图。很明显,您没有将输入的内容与其显示方式进行比较。 SO 在您键入时显示实时预览。我并不希望你能够充分利用你获得的任何帮助,而且你需要有人为你完成 100% 的工作,而不是仅仅帮助你解决一个问题。
  • 是的,我使用 fs.readFile 正如你所说,但它仍然显示错误...回调必须是一个函数
  • 我已经修正了你帖子的格式。希望这将使其他人能够帮助您。

标签: javascript node.js reactjs express sendfile


【解决方案1】:

Path.join 不会合并两个文件的内容,它会将两个文件系统路径合并为一个路径。

如果要合并两个文件的内容,则必须分别读取每个文件的内容,然后将它们连接在一起。

你想要FS.readFile( path, options )

【讨论】:

【解决方案2】:

我通过使用修复了这个问题

res.sendFile(path.format({
        dir: 'D:\\Project\\front-end\\src\\Components',
        base: 'Contact.js'
      }))

这里我用过

(path.format({dir:'path_of_file',base:'name_of_file'}))

【讨论】:

    猜你喜欢
    • 2020-10-23
    • 1970-01-01
    • 2016-04-30
    • 1970-01-01
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    相关资源
    最近更新 更多