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
onError
option: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 howmulter
is implemented) that your route handler will be called when the file is saved. You can useonFileUploadComplete
to log a message when the upload is done, and compare that to when your route handler is called.Looking at the code,
multer
calls the next middleware/route handler when the file has been uploaded completely.