Я пытаюсь сделать свою страницу для загрузки изображений.Я получаю их через HTML-форму и загружаю его с помощью multer.Но multer загружает только некоторые из них и не показывает ошибок.
Это моя HTML-форма.
<h4>Select files from your computer</h4>
<%= typeof msg_file != 'undefined' ? msg_file : '' %>
<form method="post" enctype="multipart/form-data" id="js-upload-form">
<div class="form-inline">
<div class="form-group">
<input type="file" name="files[]" id="js-upload-files" multiple>
</div>
<button type="submit" class="btn btn-sm btn-primary"
id="js-upload-submit">Upload files</button>
</div>
</form>
Это часть моего узла js.
var router = express.Router();
const storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, '.' + req.originalUrl);
},
filename: (req, file, cb) => {
cb(null, file.fieldname + '-' + Date.now() +
path.extname(file.originalname));
}
});
const upload = multer({
storage: storage,
fileFilter: function(req, file, cb) {
checkFileType(file, cb);
}
}).array('files[]');
/* GET users listing. */
router.get('/', (req, res, next) => {
const data = get_data(req.originalUrl)
res.render('users', data);
});
router.post('/', (req, res) => {
upload(req, res, (err) => {
console.log(req.files.length); //Here it shows 13 files
if(err){
const data = get_data(req.originalUrl);
data.msg_file = err;
res.render('users', data);
} else {
if(req.files == undefined){
const data = get_data(req.originalUrl);
data.msg_file ='Error: No File Selected!';
res.render('users', data);
} else {
res.redirect(req.originalUrl); //But when i redirect, i got only 10-12
}
}
});
});
module.exports = router;
проблема не в checkFileType, она работает хорошо.