Я искал и пытался выяснить это уже два дня, и единственное реальное упоминание об этом, которое я могу найти, это старый отчет о проблеме в версии 1.1.0, который был закрыт без разрешения: https://github.com/expressjs/multer/issues/338
Я использую Node.js SDK и Express framework с Cloudinary в качестве моего хоста изображения.
Это просто проект для класса, но он важен что я знаю, как заставить это работать для будущих проектов.
const multer = require('multer');
//configure where/how files are stored temporarily
const storage = multer.diskStorage({
filename: function(req,file,cb) {
cv(null,Date.now() + file.originalname);
},
destination: function (req, file, cb) {
cb(null, '/uploads')
}
});
//only accept image files for cloudinary
const imageFilter = (req,file,cb) => {
if (!file.originalname.match(/\.jpg|jpeg|png|gif)$/i)) {
return cb(new Error('Only image files (jpg, jpeg, png, gif) are allowed!'), false);
}
else {
cb(null,true);
}
};
//configure multer's upload parameters
const upload = multer({storage:storage, filefilter:imageFilter}).array('image',5);
/* POST new post */
router.post('/', upload.array('image', 5) ,asyncErrorHandler(postCreate));
Ошибка консоли при попытке запустить узел: TypeError: upload.array is not a function
Я обрабатываю фактические логи c из использование файлов в том, что должно быть массивом «files», но он даже не заходит так далеко, он просто останавливается на upload.array()
при попытке скомпилировать файл.
Ниже приведены зависимости от мой пакет. json на всякий случай, если известно, что мешают любые другие модули:
"dependencies": {
"async": "^3.1.0",
"body-parser": "^1.19.0",
"cloudinary": "^1.18.1",
"connect-flash": "^0.1.1",
"cookie-parser": "~1.4.4",
"ejs": "^3.0.1",
"express": "~4.16.1",
"express-sanitizer": "^1.0.5",
"express-session": "^1.17.0",
"http-errors": "~1.6.3",
"locus": "^2.0.4",
"method-override": "^3.0.0",
"mongoose": "^5.8.5",
"morgan": "~1.9.1",
"multer": "^1.4.2",
"passport": "^0.4.1",
"passport-local": "^1.0.0",
"passport-local-mongoose": "^6.0.1",
"serve-favicon": "^2.5.0"
}