首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

node.js upload file 下传文件

2012-08-30 
node.js upload file 上传文件var http require(http),formidable require(formidable),fs requ

node.js upload file 上传文件

var http = require('http'),formidable = require('formidable'),fs = require('fs') , sys = require('sys');http.createServer(function (req, res) {  // set up some routes  switch(req.url) {    case '/':         // show the user a simple form          console.log("[200] " + req.method + " to " + req.url);          res.writeHead(200, "OK", {'Content-Type': 'text/html'});          res.write('<html><head><title>Hello Noder!</title></head><body>');          res.write('<h1>Welcome Noder, who are you?</h1>');          res.write('<form enctype="multipart/form-data" action="/formhandler" method="post">');          res.write('Name: <input type="text" name="username" value="John Doe" /><br />');          res.write('Age: <input type="text" name="userage" value="99" /><br />');          res.write('File :<input type="file" name="upload" multiple="multiple"><br>');          res.write('<input type="submit" />');          res.write('</form></body></html');          res.end();      break;    case '/formhandler':        if (req.method == 'POST') {            console.log("[200] " + req.method + " to " + req.url);            req.on('data', function(chunk) {              console.log("Received body data:");              // console.log(chunk.toString());            });            var form = new formidable.IncomingForm();            form.parse(req, function(err,fields, files) {                console.log('in if condition'+sys.inspect({fields: fields, files: files}));               fs.writeFile(files.upload.name, files.upload,'utf8', function (err) {                      if (err) throw err;                      console.log('It\'s saved!');                });              res.writeHead(200, {'content-type': 'text/plain'});              res.write('received upload:\n\n');              res.end();            });            req.on('end', function() {              // empty 200 OK response for now              res.writeHead(200, "OK", {'Content-Type': 'text/html'});              res.end();            });          } else {            console.log("[405] " + req.method + " to " + req.url);            res.writeHead(405, "Method not supported", {'Content-Type': 'text/html'});            res.end('<html><head><title>405 - Method not supported</title></head><body><h1>Method not supported.</h1></body></html>');          }      break;    default:      res.writeHead(404, "Not found", {'Content-Type': 'text/html'});      res.end('<html><head><title>404 - Not found</title></head><body><h1>Not found.</h1></body></html>');      console.log("[404] " + req.method + " to " + req.url);  };}).listen(8081)

热点排行