1 | var express = require('express');
|
2 | var path = require('path');
|
3 | var favicon = require('static-favicon');
|
4 | var logger = require('morgan');
|
5 | var cookieParser = require('cookie-parser');
|
6 | var bodyParser = require('body-parser');
|
7 | var debug = require('debug')('lab');
|
8 |
|
9 | var routes = require('./routes/index');
|
10 |
|
11 | var app = express();
|
12 |
|
13 |
|
14 | app.set('views', path.join(__dirname, 'views'));
|
15 | app.set('view engine', 'jade');
|
16 |
|
17 | app.use(favicon());
|
18 | app.use(logger('dev'));
|
19 | app.use(bodyParser.json());
|
20 | app.use(bodyParser.urlencoded());
|
21 | app.use(cookieParser());
|
22 | app.use(express.static(path.join(__dirname, 'public')));
|
23 |
|
24 | var busboy = require('connect-busboy');
|
25 | app.get('/', function (req, res) {
|
26 |
|
27 |
|
28 |
|
29 |
|
30 | res.send('<html><head></head><body>\
|
31 | <form method="POST" enctype="multipart/form-data">\
|
32 | <input type="text" name="textfield"><br />\
|
33 | <input type="file" name="filefield"><br />\
|
34 | <input type="submit">\
|
35 | </form>\
|
36 | </body></html>');
|
37 | });
|
38 |
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 |
|
46 |
|
47 |
|
48 |
|
49 |
|
50 |
|
51 |
|
52 | app.use(busboy());
|
53 |
|
54 | app.post('/', function(req, res) {
|
55 |
|
56 | req.busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
|
57 | console.log('file', filename);
|
58 | file.resume();
|
59 | });
|
60 | req.busboy.on('field', function(key, value, keyTruncated, valueTruncated) {
|
61 | console.log('field', key, value);
|
62 | });
|
63 | req.busboy.on('finish', function() {
|
64 | console.log('OVER!');
|
65 | res.send('OK!');
|
66 | });
|
67 | req.pipe(req.busboy);
|
68 |
|
69 | });
|
70 | app.listen(3000);
|