filtern Wie der Titel der Frage erklärt, muss ich hochgeladene Dateien auf der Basis der Dateierweiterung filtern. Also, ich ging durch die offiziellen Dokumente und suchte diese Website.Dateien auf der Grundlage der Erweiterung mit Hilfe von Multer in Express JS
Was ich
Ich habe versucht, Lösungen versucht haben, stieß ich auf. Dateien werden erfolgreich hochgeladen, aber das Problem besteht darin, Dateien zu filtern. Momentan sieht meine Router.js Datei so aus.
Router.JS
var multer = require('multer');
var storage = multer.diskStorage({ //multers disk storage settings
destination: function (req, file, cb) {
cb(null, './public/uploads/')
},
limits:{
files: 1,
fileSize: 1024 * 1024
},
filename: function (req, file, cb) {
var datetimestamp = Date.now();
cb(null, file.fieldname + '-' + datetimestamp + '.' + file.originalname.split('.')[file.originalname.split('.').length -1])
},
onFileUploadStart: function(file) {
console.log("Inside uploads");
if (file.mimetype == 'image/jpg' || file.mimetype == 'image/jpeg' || file.mimetype == 'image/png') {
return true;
}
else
{
return false;
}
}
});
var upload = multer({ //multer settings
storage: storage
}).single('profilepic');
router.post('/profile', function(req, res){
upload(req,res,function(err){
if(err)
{
console.log(err);
}
else
{
console.log("Image was uploaded");
}
});
});
habe ich versucht, etwas in onFileUploadStart
Echo zu überprüfen, ob es in dieser Funktion wird oder nicht. Und es war nicht. Neben onFileUploadStart
habe ich auch versucht fileFilter
wie an dieser Stelle link erwähnt, aber es war nicht hilfreich. Irgendwelche Vorschläge, wie man das löst? Danke im Voraus.