I am using multer to save the file on server developed through express & nodejs.
I am usign following code.
var express = require('express'),
multer = require('multer')
var app = express()
app.get('/', function(req, res){
res.send('hello world');
});
app.post('/upload',[ multer({ dest: './uploads/'}), function(req, res){
res.status(204).end()
}]);
app.listen(3000);
Multer saves the file for me in the specified destination folder.
All this is working fine but I have following questions:
- If the file saving fails for various reasons, it looks like my route will always return status 204.
- I am not sure if status 204 is retured after file is saved or while the file is getting saved asynchronously, status 204 is returned.
You can handle errors using the
onErroroption:If you call
next(err), your route handler (generating the 204) will be skipped and the error will be handled by Express.I think (not 100% sure as it depends on howmulteris implemented) that your route handler will be called when the file is saved. You can useonFileUploadCompleteto log a message when the upload is done, and compare that to when your route handler is called.Looking at the code,
multercalls the next middleware/route handler when the file has been uploaded completely.