J'utilise le plugin 'multer' pour le téléchargement de fichiers. Je veux appeler une autre fonction après le téléchargement du fichier avec succès.NodeJS: fonction de rappel de chargement de fichier 'multer'
Voici mon code:
module.exports.uploadFile = upload.single('file', '_id'), function (req, res, next) {
console.log('Uploade Successful');
}
var upload = multer({
storage: multer.diskStorage({
destination: './Media/ChatDocUpload',
filename: function (req, file, cb) {
var dest = './Media/ChatDocUpload';
//query string params
var _chatMessageID = req.query.chatMessageID;
var _ext = file.originalname.substring(file.originalname.indexOf("."));
var _fileName = _chatMessageID + _ext;
cb(null, _fileName);
}
})
});
Je veux appeler ma nouvelle fonction après l'image téléchargée. En utilisant ce code, je peux télécharger l'image avec succès, mais pas obtenir la fonction de rappel d'appel.
J'ai besoin d'appeler une nouvelle fonction une fois le chargement de l'image terminé.
//I need to call this function after image fully uploaded
var uploadSuccessFn = function() {
//code
}
vous pouvez utiliser multer en fonction middleware: router.post ('/ image', ImageUpload, anotherFunction) –
Vous ne devriez pas les noms de fichiers analyse, il existe un module pour cela: 'path' avec beaucoup de fonctions intégrées pour cela, par exemple:' path.extname' (https://nodejs.org/api/path.html#path_path_extname_path). Ensuite, vous devriez bloquer certaines extensions de fichiers pour des raisons de sécurité ... pour commencer, tous les noms de fichiers qui sont exécutables: '.exe',' .scr' et ainsi de suite. – arboreal84
Mais j'ai besoin d'appeler 'var uploadSuccessFn = function() { // code }' Cette fonction après le téléchargement de l'image avec succès. –