Ich versuche multer in meiner app.js-Datei (mit node.js/express) zu konfigurieren, damit Benutzer Bilder hochladen können. Ich habe den folgenden Code in app.js:Multer-Konfiguration mit app.use gibt TypeError zurück
//various require statements for passport, cookie parser, etc..
var multer = require('multer');
var app = express();
app.use(multer({dest:'./uploads/'}));
Wenn ich versuche, die app I TypeError: app.use() requires middleware functions
ich, dass diese Fragen zu verstehen bekommen ausführen kann etwas mehr Kontext in Bezug auf meine Anwendung erfordert also bitte lassen Sie mich wissen, ob zusätzliche Informationen benötigt werden.
Danke
EDIT: Mehr Code aus app.js:
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var bodyParser = require('body-parser');
var methodOverride = require('method-override');
var session = require('express-session');
//var fs = require('fs');
var multer = require('multer');
//Mongo Database
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/test-api');
//Instagram-API
var api = require('instagram-node').instagram();
//Cookie Manager
var cookieParser = require('cookie-parser');
//Grid
//var Grid = require('gridfs-stream');
//Passport
var passport = require('passport');
var InstagramStrategy = require('passport-instagram').Strategy;
var routes = require('./routes/index');
//var users = require('./routes/users');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(multer({dest:'./uploads/'}));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(methodOverride());
app.use(session({secret: 'keyboard cat', resave: false, saveUninitialized: true }));
app.use(passport.initialize());
app.use(passport.session());
app.use(express.static(path.join(__dirname, 'public')));
// Make our db accessible to our router
app.use(function(req,res,next){
req.db = db;
next();
});
app.use('/', routes);
Schuss im Dunkeln tun, aber nicht die multer Variable haben den richtigen Wert, nachdem Sie es benötigen? (Gibt es Linien, die Multer berühren, die Sie in Ihrer Probe weggelassen haben?) Welche Multer- und Express-Versionen verwenden Sie? – doldt
Soweit ich sagen kann, gibt es keine Zeilen, die Multer neben denen, die ich gepostet habe, beziehen. Ich benutze Express 4.12.4 und Multer 1.0.0 (ich glaube, lol, habe diese Versionen von package.json). Lassen Sie mich meine Frage mit mehr Code bearbeiten – prcbass