-
-
Save alepez/9205394 to your computer and use it in GitHub Desktop.
var request = require('request'); | |
var path = require('path'); | |
var fs = require('fs'); | |
var filename = process.argv[2]; | |
var target = 'http://localhost:3000/upload/' + path.basename(filename); | |
var rs = fs.createReadStream(filename); | |
var ws = request.post(target); | |
ws.on('drain', function () { | |
console.log('drain', new Date()); | |
rs.resume(); | |
}); | |
rs.on('end', function () { | |
console.log('uploaded to ' + target); | |
}); | |
ws.on('error', function (err) { | |
console.error('cannot send file to ' + target + ': ' + err); | |
}); | |
rs.pipe(ws); |
var express = require('express'); | |
var http = require('http'); | |
var path = require('path'); | |
var fs = require('fs'); | |
var app = express(); | |
app.set('port', process.env.PORT || 3000); | |
app.use(express.logger('dev')); | |
app.use(express.methodOverride()); | |
app.use(app.router); | |
app.use(express.errorHandler()); | |
app.post('/upload/:filename', function (req, res) { | |
var filename = path.basename(req.params.filename); | |
filename = path.resolve(__dirname, filename); | |
var dst = fs.createWriteStream(filename); | |
req.pipe(dst); | |
dst.on('drain', function() { | |
console.log('drain', new Date()); | |
req.resume(); | |
}); | |
req.on('end', function () { | |
res.send(200); | |
}); | |
}); | |
http.createServer(app).listen(app.get('port'), function () { | |
console.log('Express server listening on port ' + app.get('port')); | |
}); |
C:\Program Files\nodejs\node_modules\express\lib\express.js:108
throw new Error('Most middleware (like ' + name + ') is no longer bundled
with Express and must be installed separately. Please see https://github.com/sen
chalabs/connect#middleware.');
^Error: Most middleware (like logger) is no longer bundled with Express and must
be installed separately. Please see https://github.com/senchalabs/connect#middle
ware.
at Function.get (C:\Program Files\nodejs\node_modules\express\lib\express.js
:108:13)
at Object. (C:\Program Files\nodejs\api\1.js:9:17)
at Module._compile (module.js:660:30)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
at tryModuleLoad (module.js:513:12)
at Function.Module._load (module.js:505:3)
at Function.Module.runMain (module.js:701:10)
at startup (bootstrap_node.js:190:16)
at bootstrap_node.js:662:3
Removing the following lines made the code work:
app.use(express.logger('dev'));
app.use(express.methodOverride());
app.use(app.router);
app.use(express.errorHandler());
Merci cela fonctionne chez moi
why creating an http server when express literally does that ???
C:\Program Files\nodejs\node_modules\express\lib\express.js:108
throw new Error('Most middleware (like ' + name + ') is no longer bundled
with Express and must be installed separately. Please see https://github.com/sen
chalabs/connect#middleware.');
^
Error: Most middleware (like logger) is no longer bundled with Express and must
be installed separately. Please see https://github.com/senchalabs/connect#middle
ware.
at Function.get (C:\Program Files\nodejs\node_modules\express\lib\express.js
:108:13)
at Object. (C:\Program Files\nodejs\api\1.js:9:17)
at Module._compile (module.js:660:30)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
at tryModuleLoad (module.js:513:12)
at Function.Module._load (module.js:505:3)
at Function.Module.runMain (module.js:701:10)
at startup (bootstrap_node.js:190:16)
at bootstrap_node.js:662:3