-
-
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
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 ???
Thank you for sharing! 👍