NodeJS - Multer模块错误 - 无法读取未定义

时间:2017-03-17 06:35:08

标签: node.js express multer

我正在使用multer模块将文件上传到我的应用程序,并在表单上使用multiform-data enctype。但是,我已经尝试了所有可能的解决方案,我发现上传文件是徒劳的。我总是收到"无法读取未定义的属性路径或未定义的文件。下面是我的观点,控制器和配置文件,任何人都可以帮助指出它是错的?

视图

<form method="post" action="/images" enctype="multipart/form-data">
    <div class="panel-body form-horizontal">
        <div class="form-group col-md-12">
            <label for="file" class="col-sm-2 control-label">Browse:</label>
            <div class="col-md-10">
                <input type="file" name="file" id="file" class="form-control">
            </div>
        </div>

控制器:

var tempPath = req.files.path;
var ext = path.extname(req.files.name).toLowerCase();
var finalPath = path.resolve('./public/upload' + imageUrl + ext);

配置文件:

var path = require('path');
var express = require('express');
var routes = require('./routes'); //routes for GET, POST...requests
var exphbs = require('express-handlebars'); //templating engine
//var bodyParser = require('body-parser'); //form submission request are           accessible with req.body
var cookieParser = require('cookie-parser'); //cookies to be send and received
var morgan = require('morgan'); //module for logging - used in debugging
var methodOverride = require('method-override'); //for older browser to fake    REST verbs
var errorHandler = require('errorhandler'); //handles error through the middleware
var moment = require('moment'); //npm module to handle dates formating
var multer = require('multer'); //to handle file uploading

module.exports = function(app) {

app.use(morgan('dev'));
//app.use(multer({dest: path.join(__dirname, 'public/upload/temp')}));     //proper use of multer
app.use(multer({ dest: path.join(__dirname,'public/upload/temp')}).any());

app.use(methodOverride());
app.use(cookieParser('IciCestParis'));

routes(app); //moving the routes to route folder

app.use('/public/', express.static(path.join(__dirname,'../public')));

0 个答案:

没有答案