| require('../test/common'); |
| var http = require('http'), |
| util = require('util'), |
| formidable = require('formidable'), |
| server; |
| |
| server = http.createServer(function(req, res) { |
| if (req.url == '/') { |
| res.writeHead(200, {'content-type': 'text/html'}); |
| res.end( |
| '<form action="/upload" enctype="multipart/form-data" method="post">'+ |
| '<input type="text" name="title"><br>'+ |
| '<input type="file" name="upload" multiple="multiple"><br>'+ |
| '<input type="submit" value="Upload">'+ |
| '</form>' |
| ); |
| } else if (req.url == '/upload') { |
| var form = new formidable.IncomingForm(), |
| files = [], |
| fields = []; |
| |
| form.uploadDir = TEST_TMP; |
| |
| form |
| .on('field', function(field, value) { |
| console.log(field, value); |
| fields.push([field, value]); |
| }) |
| .on('file', function(field, file) { |
| console.log(field, file); |
| files.push([field, file]); |
| }) |
| .on('end', function() { |
| console.log('-> upload done'); |
| res.writeHead(200, {'content-type': 'text/plain'}); |
| res.write('received fields:\n\n '+util.inspect(fields)); |
| res.write('\n\n'); |
| res.end('received files:\n\n '+util.inspect(files)); |
| }); |
| form.parse(req); |
| } else { |
| res.writeHead(404, {'content-type': 'text/plain'}); |
| res.end('404'); |
| } |
| }); |
| server.listen(TEST_PORT); |
| |
| console.log('listening on http://localhost:'+TEST_PORT+'/'); |