Ich benutze diesen Code:Wie kann ich etwas wie php session_id() in Node.js verwenden?
/*
* dependencies
* */
var datetime = require('node-datetime'),
express = require('express'),
http = require('http'),
upload = require('jfum');
// configuration
var dirs = require('./config').directors;
// varibles
var client = 'http://localhost';
// express setup
var app = express();
// Add headers
app.use(function(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', client);
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'X-CSRF-Token,X-Requested-With,content-type');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});
app.use('/upload', function(req, res, next) {
var date = datetime.create(),
patch = date.format('/Y/m/d/') + req.sessionID;
upload.fileHandler({
tmpDir: dirs.temp,
uploadDir: __dirname + dirs.location + patch,
uploadUrl: dirs.location_url + patch,
maxPostSize: 11000000000, // 11 GB
minFileSize: 1,
maxFileSize: 10000000000, // 10 GB
acceptFileTypes: /\.(gif|jpe?g|png)$/i,
accessControl: {
allowOrigin: client,
allowMethods: 'OPTIONS, HEAD, GET, POST, PUT, DELETE'
}
})(req, res, next);
});
// bind event
upload.on('end', function(fileInfo) {
// insert file info
console.log("files upload complete");
console.log(fileInfo);
// var exec = require('child_process').exec;
// var command;
//
// command = exec('ipconfig4', function(error, stdout, stderr) {
// console.log('stdout: ' + stdout);
// console.log('stderr: ' + stderr);
// if (error !== null) {
// console.log('exec error: ' + error);
// }
// });
});
upload.on('delete', function(fileName) {
// remove file info
console.log("files remove complete");
console.log(fileName);
});
upload.on('error', function(e) {
console.log(e.message);
});
// Configuration
app.configure(function() {
app.set('port', process.env.PORT || 3001);
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('token'));
app.use(express.session({
secret: 'secret'
}));
app.use(express.favicon());
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function() {
app.use(express.errorHandler({
dumpExceptions: true,
showStack: true
}));
app.set('view cache', false);
});
app.configure('production', function() {
app.use(express.errorHandler());
app.set('view cache', true);
});
/*
* routes
* */
app.get('/', function(req, res) {
res.send(req.sessionID);
});
/*
* start server
* */
http.createServer(app).listen(app.get('port'), function() {
console.log("Express server listening on port " + app.get('port'));
console.log("access url /location/input");
});
In Routen es scheint, dass ich so etwas wie PHP session_id() mit req.sessionID bekommen kann. Aber in
app.use('/upload', function(req, res, next) {
var date = datetime.create(),
patch = date.format('/Y/m/d/') + req.sessionID;
});
ich undefined
von req.sessionID
. Warum? Funktioniert das wie phps session_id()
?