upload.js 872 B

12345678910111213141516171819202122232425262728
  1. var formidable = require('formidable'),
  2. http = require('http'),
  3. util = require('util');
  4. http.createServer(function(req, res) {
  5. if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
  6. // parse a file upload
  7. var form = new formidable.IncomingForm();
  8. form.parse(req, function(err, fields, files) {
  9. res.writeHead(200, {'content-type': 'text/plain'});
  10. res.write('received upload:\n\n');
  11. res.end(util.inspect({fields: fields, files: files}));
  12. });
  13. return;
  14. }
  15. // show a file upload form
  16. res.writeHead(200, {'content-type': 'text/html'});
  17. res.end(
  18. '<form action="/upload" enctype="multipart/form-data" method="post">'+
  19. '<input type="text" name="title"><br>'+
  20. '<input type="file" name="upload" multiple="multiple"><br>'+
  21. '<input type="submit" value="Upload">'+
  22. '</form>'
  23. );
  24. }).listen(3000);