在快递app.js中,我定义了 uploadDir =“./ tmp”,但我怎样才能在以后访问它?
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser({uploadDir:'./tmp', keepExtensions: true})); // <--
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
});
答案 0 :(得分:3)
像bodyParser
这样的中间件的争论直接进入中间件。所有的Express中间件都是由Connect提供的,所以它甚至都不知道Express。在multipart middleware的uploadDir
关闭中捕获multipart
。它通过闭包存储,并且永远不会存储在其他任何地方,或者传递给Express,因此访问原始值的唯一方法是将其作为最初传入的options
对象的一部分进行访问。没有其他方法
如果您希望通过阅读app
(正如您在评论中所述)来访问该值,那么您应该单独在那里设置它。也就是说,这种方法有点难看,意味着你必须设置两次值。
app.set('uploadDir', './tmp');