Wednesday, 10 May 2017

TypeError: Cannot read property 'on' of undefined when uploading

I have that error, and here is my code :

For my template.ejs and server/app.js:

var busboy = require('connect-busboy');
var app = express();
app.use(busboy());

app.post('/fileupload', function(req, res) {
    var fstream;
    req.pipe(req.busboy);
    req.busboy.on('file', function (fieldname, file, filename) {
        console.log("Uploading: " + filename); 
        fstream = fs.createWriteStream(__dirname + '/files/' + filename);
        file.pipe(fstream);
        fstream.on('close', function () {
            res.redirect('back');
        });
    });
});
      <form ref='uploadForm' 
      id='uploadForm' 
      action='/fileupload' 
      method='post' 
      encType="multipart/form-data">

<input type="file" name="file" id="file">
<input type="submit" value="Upload">

</form>

And im having this error:

TypeError: Cannot read property 'on' of undefined at IncomingMessage.Readable.pipe (_stream_readable.js:501:7) at C:\Users\jesus\Desktop\legone\localsurvey.js:301:9 at callbacks (C:\Users\jesus\Desktop\legone\node_modules\express\lib\router\index.js:164:37) at param (C:\Users\jesus\Desktop\legone\node_modules\express\lib\router\index.js:138:11) at pass (C:\Users\jesus\Desktop\legone\node_modules\express\lib\router\index.js:145:5) at Router._dispatch (C:\Users\jesus\Desktop\legone\node_modules\express\lib\router\index.js:173:5) at Object.router (C:\Users\jesus\Desktop\legone\node_modules\express\lib\router\index.js:33:10) at next (C:\Users\jesus\Desktop\legone\node_modules\connect\lib\proto.js:190:15) at Object.methodOverride [as handle] (C:\Users\jesus\Desktop\legone\node_modules\connect\lib\middleware\methodOverride.js:49:5) at next (C:\Users\jesus\Desktop\legone\node_modules\connect\lib\proto.js:190:15)

Thanks!



via Jc Velasquez

No comments:

Post a Comment