1

file is not uploading in nodejs it shows error which is: nodemon app crashed - waiting for file changes before starting... nodejs

code:

 var path = require('path'); var express = require('express'); var multer = require('multer'); var app = express(); var Storage = multer.diskStorage({ destination: './public/uploads/', filename: (req, file, cb) => { cb(null, file.fieldname+"-"+Date.now()+path.extname(file.orignalname)); } }) var upload = multer({ storage: Storage }).single('file'); app.use(express.static(__dirname+"/public")); app.post('/uploadFile', upload , (req, res, next) => { res.send("Uploaded File: "+ req.file.filename); }) app.listen(3000, () => console.log("Server Running at http://localhost:3000/")) 

error:

 TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined at validateString (internal/validators.js:125:11) at Object.extname (path.js:830:5) at DiskStorage.filename [as getFilename] (D:\nodejs\index.js:9:47) at D:\nodejs\node_modules\multer\storage\disk.js:34:10 at DiskStorage.getDestination (D:\nodejs\node_modules\multer\storage\disk.js:22:51) at DiskStorage._handleFile (D:\nodejs\node_modules\multer\storage\disk.js:31:8) at D:\nodejs\node_modules\multer\lib\make-middleware.js:144:17 at allowAll (D:\nodejs\node_modules\multer\index.js:8:3) at wrappedFileFilter (D:\nodejs\node_modules\multer\index.js:44:7) at Busboy.<anonymous> (D:\nodejs\node_modules\multer\lib\make-middleware.js:114:7) [nodemon] app crashed - waiting for file changes before starting... 
4
  • It is what is says: the app crashed and nodemon is waiting for some file change to restart it again. Therefor, something is wrong with the code you've shown here. Commented Aug 8, 2019 at 9:48
  • can u plz see the code that whats wrong Commented Aug 8, 2019 at 9:50
  • actually I wrote it myself and m just started it(nodejs) 2 days ago so m unable to find any solution to fix it Commented Aug 8, 2019 at 9:55
  • if there is any mistake then u can tell me if u are experienced Commented Aug 8, 2019 at 9:55

1 Answer 1

4

When nodemon crashes with this error, it means there is a problem with your code which prevents it from starting.

The first line of the error message is the actual error:

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined

You must have passed undefined instead of a string to a function, I would guess on this line:

cb(null, file.fieldname+"-"+Date.now()+path.extname(file.orignalname));

Probably in the file.originalname part, you should check if it is defined

Sign up to request clarification or add additional context in comments.

1 Comment

I change the first line of path to it: var upload = multer({ dest: 'uploads/' }) now it saying cb(null, file.fieldname+"-"+Date.now()+path.extname(file.orignalname));

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.