Я хочу реализовать загрузку файлов для моего приложения, используя Angular (внешний интерфейс), node.js с express, а также MongoDB и mon goose. Я использую промежуточное программное обеспечение для загрузки файлов, однако, как бы я ни старался, когда файл поступает в бэкэнд, он регистрируется как неопределенный, но он виден как файл во внешнем интерфейсе, когда он регистрируется на консоли. Ниже приведен пример кода
// Multer File upload settings
const BOOKDIR = './public/books';
// const DIR = './public/profile-img';
const storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, BOOKDIR);
},
filename: (req, file, cb) => {
const fileName = file.originalname.toLowerCase().split(' ').join('-');
cb(null, fileName)
}
});
// Multer Mime Type Validation
var upload = multer({
storage: storage,
limits: {
fileSize: 1024 * 1024 * 5
},
fileFilter: (req, file, cb) => {
if (file.mimetype == "image/png" || file.mimetype == "image/jpg" || file.mimetype == "image/jpeg") {
cb(null, true);
} else {
cb(null, false);
return cb(new Error('Only .png, .jpg and .jpeg format allowed!'));
}
}
});
router.put('/update', upload.single('avatar'), auth, (req, res) => {
console.log(req.file); // returns undefined
});