0

Getting a Strange Error I have tried Everything but My code Doest not pick up Req.file.. I AM new to Nodejs And Express, AND i was try to upload an image using multer.
Req.file is showing UNDEFINED and Image is not uploading
This is my source code with using PUG(template engine) Bumper.pug

   

 extends base.pug

    block style
        style
            include ../static/productUpload.css
    block scripts
        script(src="../static/categorienav.js")
        //- script(src="../static/productid.js")
        

    block content
        p.heading
            | Upload BUMPER
            .UploadPage
                .Uploadinfo
                    p#PID BUMPER
                form.uploadform(action=`/BumperUpload` , method="post" enctype="multipart/form-data")
                    input.catsclass(type="file",name="file" accept="image/*" required)
                    input.catsclass(type="text",name="Link",placeholder="paste Link here" required)
                    input.catsclass(type="submit")
                    |   #{Change}

Bumper.js

var express = require('express'); 
var myrouter= express.Router(); 
var bodyparser = require('body-parser'); 
var fs = require('fs'); 
var multer = require('multer'); 
// Initialize the express object 
var app = express();      
  
// Use body-parser to parse incoming data 
app.use(bodyparser.urlencoded({extended : true}))      
app.set('view engine', 'pug') // Set the template engine as pug
app.set('views', [__dirname + '/views', __dirname + '/views2']); // Set the views directory


myrouter.get('/BumperUpload',(req,res)=>{

res.render('Bumper.pug');

  })
  var storage = multer.diskStorage({
    destination: function (request, file, callback) {
        callback(null, './uploads/');
    },
    filename: function (request, file, callback) {
        console.log(file);
        callback(null, file.originalname)
    }
});

var upload = multer({ storage: storage });
myrouter.post('/BumperUpload', upload.single('file'), function (req, res) {
    console.log(req.file);
  if (req.file) {
    console.log('Uploading File');
    var profileImageOriginlName=req.file.originalname;
    var profileImageName=req.file.name;
    var profileImageMime=req.file.mimetype;
    var profileImagePath=req.file.path;
    var profileImageExt=req.file.extension;
    var profileImageSize=req.file.size;
}
else
{
    var profileImageName='noimage.png';
}

console.log(profileImageName);
res.send("done")


});
module.exports = myrouter;

Index.js

const express = require("express");
const path = require("path");
const fs = require("fs");
const app = express();
const port = 80;
const bodyparser = require('body-parser')
// var http = require('http');
const fileUpload = require('express-fileupload');
var nodemailer = require('nodemailer');
// var mail = require("./static/mail.js")
//////mongojson = require("./mongodb.js")
var domain = require("domain").create();
var mongoose = require('mongoose');
var HOME = require('./models/HOME/HOME.js')
var Bumper = require('./models/HOME/Bumper.js');
var MongoClient = require('mongodb').MongoClient;

app.use('/static', express.static('static')) // For serving static files
app.use(express.urlencoded());
app.use(fileUpload());

// PUG SPECIFIC STUFF
app.set('view engine', 'pug') // Set the template engine as pug
app.set('views', [__dirname + '/views', __dirname + '/views2']); // Set the views directory
app.use('/', Bumper);
// START THE SERVER
app.listen(port, () => {
    // //console.log(res);
    //console.log(`The application started successfully on port ${port}`);
});

package.json

{
  "name": "rk",
  "version": "1.0.0",
  "description": "",
  "main": "param.js",
  "dependencies": {
    "bcryptjs": "^2.4.3",
    "body-parser": "^1.19.0",
    "bootstrap-icons": "^1.1.0",
    "connect-busboy": "0.0.2",
    "connect-flash": "^0.1.1",
    "cookie-parser": "^1.4.5",
    "crypto": "^1.0.1",
    "domain": "0.0.1",
    "express": "^4.17.1",
    "express-fileupload": "^1.2.0",
    "express-session": "^1.17.1",
    "filesystem": "^1.0.1",
    "formidable": "^1.2.2",
    "jquery": "^3.5.1",
    "jsonwebtoken": "^8.5.1",
    "localStorage": "^1.0.4",
    "method-override": "^3.0.0",
    "mongodb": "^3.6.3",
    "mongoose": "^5.10.14",
    "multer": "^1.4.2",
    "nodemailer": "^6.4.16",
    "passport": "^0.4.1",
    "passport-local": "^1.0.0",
    "pug": "^3.0.0"
  },
  "devDependencies": {},
  "scripts": {
    "start": "nodemon param.js"
  },
  "author": "RISHABH GARG",
  "license": "ISC"
}

Result:
Database Connected <br>
undefined // req.file is showing undefined<br>
noimage.png //image is not upload<br>

1 Answer 1

0

Hey I got the solution I Uninstall the Express-FileUpload and now it works

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.