2011-04-10 111 views
3

我已经看到(很少)在node.js上传服务器的例子, 使用multipart或者强大的lib,处理http post。node.js上传PUT

但是,如果我想使用PUT上传文件,作为东西

%卷曲-T file.tar.gz http://node:8000/upload/

你可以点我一些例子吗? 我如何阅读请求正文?

迎接

回答

1

也许我错了,但如果你以强大的例子置换了“后“把”应该工作。

var formidable = require('formidable'), 
    http = require('http'), 
    sys = require('sys'); 

http.createServer(function(req, res) { 
    if (req.url == '/upload' && req.method.toLowerCase() == 'put') { 
    // parse a file upload 
    var form = new formidable.IncomingForm(); 
    form.parse(req, function(err, fields, files) { 
     res.writeHead(200, {'content-type': 'text/plain'}); 
     res.write('received upload:\n\n'); 
     res.end(sys.inspect({fields: fields, files: files})); 
    }); 
    return; 
    } 

    // show a file upload form 
    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>' 
); 
});