fs.readdir failing with "Error: ENOENT: no such file or directory, scandir" using WSL

Viewed 16

The directory path is path: '/mnt/c/Users/merir/Downloads/nerdr-backend/Users/merir/Downloads/nerdr-backend/controllers/resources/static/assets/uploads'. I console log the path, the folders exist, but I'm still getting this error.

Here is my router:

uploadRouter.get('/files', async (req, res) => {

  const directoryPath = path.resolve(__dirname, "resources/static/assets/uploads/")

  fs.readdir(directoryPath, function (err, files) {
    console.log(files)
    if (err) {
      res.status(500).send({
        message: "Unable to scan files!",
      })
    }
  }
  )
})

and here my app.js:

const config = require('./utils/config')
const express = require('express')
const app = express()
const cors = require('cors')
const mongoose = require('mongoose')
require('express-async-errors')

const swipesRouter = require('./controllers/swipes')
const usersRouter = require('./controllers/users')
const loginRouter = require('./controllers/login')
const uploadRouter = require('./controllers/file.controller')

mongoose.connect(config.MONGODB_URI)
  .then(() => {
    console.log('connected to MongoDB')
  })
  .catch((error) => {
    console.log('error connection to MongoDB:', error.message)
  })

app.use(cors())
app.use(express.static('build'))
app.use(express.json())

app.use('/api/swipes', swipesRouter)
app.use('/api/users', usersRouter)
app.use('/api/login', loginRouter)
app.use('/api/upload', uploadRouter)

module.exports = app
0 Answers
Related