Я использовал мультер и включил всю необходимую информацию, например, в тег формы, т.е. enctype = "multipart / form-data". Я использовал diskStorage и Filefilter. Я все еще не могу загрузить файл. Это дает мне req.file = undefined.
Я искал различные ссылки на stackoverflow, но ничего не помогло.
<body>
<form action="fileupload" method="GET" enctype="multipart/form-
data">
Select images:<input type="file" name="adfile">
<button type="submit">Upload your files</button>
</form>
</body>
const storageFile=multer.diskStorage({
destination:(req,file,next)=>{
console.log('file destination', file);
next(null,'./images/');
},
filename:(req,file,next)=>{
console.log("file is::::", file);
next(null,file.fieldname + path.extname(file.originalname));
}
}),
fileFilter1=(req,file,next)=>{
var isMimeMatch;
if (file.mimetype == 'image/jpg' || file.mimetype == 'image/jpeg' ||
file.mimetype == 'image/png') {
isMimeMatch = true;
next(err,isMimeMatch);
}
else {
isMimeMatch = false;
console.log("Mime not Match ",error, " isMimeMatch
",isMimeMatch);
next(error,isMimeMatch);
}
}
app.use(multer({storage:storageFile,fileFilter:fileFilter1, limits:
{fileSize:5*1024*1024}}).single('adfile'));
app.get('/fileupload',(req,res)=>{
res.render('fileupload');
var fileName=req.file;
if(!fileName) {
console.log('kkkkkkkk');
console.log('File is not uploaded');
}
else {
console.log('nnnnnnnn');
console.log(fileName);
}
})