Передача промежуточного программного обеспечения Multer из внешнего файла - PullRequest
0 голосов
/ 24 марта 2019

Я новичок в использовании multer для загрузки файлов в приложении node-express. Я попытался передать промежуточное программное обеспечение (импортированное из отдельного файла) в мои маршруты, но в консоли получило сообщение об ошибке:

router.post('/', uploadMW.multerFunction('/articles').any('image'), articleController.article_create);
                          ^

TypeError: uploadMW.multerFunction is not a function
    at Object.<anonymous> (F:\wordify-web\backend-wordify\api\routes\articles.js:9:27)

Вот мой код для файла маршрутизатора, в котором я передаю свое промежуточное ПО:

const express = require('express');
const router = express.Router();

const articleController = require('../controllers/articles');
const uploadMW = require('../middleware/multer-file');

router.get('/', articleController.article_get_all);

router.post('/', uploadMW.multerFunction('/articles').any('image'), articleController.article_create);

router.get('/:articleId', articleController.article_by_id);
module.exports = router;

А вот код файла multer:

const express = require('express');
const router = express();
const multer = require('multer');


let storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, './uploads')
    },
    filename: function (req, file, cb) {
        cb(null, file.filename + '-' + Date.now() + path.extname(file.originalname))
    }
})

const upload = multer({storage: storage}).single("image");

module.exports = upload;

Пожалуйста, помогите решить.

...