formidable 表单文件和数据提交

只要涉及文件上传,那么form标签要加一个属性:

<form action="http://127.0.0.1/dopost" method="post" enctype="multipart/form-data">

 

var http = require("http");
var formidable = require('formidable');
var util = require("util");


//创建服务器
var server = http.createServer(function(req,res){
    //如果你的访问地址是这个,并且请求类型是post
    if(req.url == "/dopost" && req.method.toLowerCase() == "post"){
        //Creates a new incoming form.
        var form = new formidable.IncomingForm();
        //设置文件上传存放地址
        form.uploadDir = "./uploads";
        //执行里面的回调函数的时候,表单已经全部接收完毕了。
        form.parse(req, function(err, fields, files) {
            if(err){
                throw err;
            }
            console.log(fields);
            console.log(files);
            console.log(util.inspect({fields: fields, files: files}));
            //所有的文本域、单选框,都在fields存放;
            //所有的文件域,files
            res.writeHead(200, {'content-type': 'text/plain'});

            res.end("成功");
        });
    }
});

server.listen(80,"127.0.0.1");
原文地址:https://www.cnblogs.com/Erick-L/p/7770548.html