Nodejs文件上传

html

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>

<form action="http://127.0.0.1:3000/login" method="post" enctype="multipart/form-data">
    <p>
        姓名: <input type="text" name="name">
    </p>
    <p>
        <input type="radio" name="sex" value="男"><input type="radio" name="sex" value="女"></p>
<p>
    <input type="file" name="upload" multiple="multiple">
</p>
    <p>
        <input type="submit" value="Upload">
    </p>

</form>

</body>
</html>

js

var http = require("http");
var querystring = require("querystring");
var formidable = require("formidable");
var util = require("util");
var fs = require("fs");
var path = require("path");
var date = require("silly-datetime");


var server = http.createServer(function(req,res){
    if(req.url == "/login" && req.method.toLowerCase() == "post"){
        //var allData = "";
        //req.addListener("data",function(chunk){
        //    allData += chunk;
        //});
        //
        //req.addListener("end",function(){
        //
        //    var newData = querystring.parse(allData.toString());
        //    //console.log(newData);
        //    console.log(newData.name);
        //    console.log(newData.sex);
        //
        //    res.end("Ok");
        //});


        var form = new formidable.IncomingForm();
        form.uploadDir = "./photo";
        form.type = "jpg";
        form.parse(req, function(err, fields, files) {
            if(err){
                throw err;
            }

            //时间
            var t = date.format(new Date(),"YYYYMMDDHHmmss");

            var ranNum = parseInt(Math.random() * 89999 + 10000);
            //获取扩展名
            var extName = path.extname(files.upload.name);

            //
            var oldPath = __dirname + "/" +files.upload.path;
            //新地址
            var newPath = __dirname + "/photo/" + t + ranNum + extName;
            //reName
            fs.rename(oldPath,newPath,function(err){
                if(err){
                    throw err;
                }
                res.writeHead(200, {'content-type': 'text/plain'});
                res.end("OK");
            });


        });

    }
});

server.listen(3000,"127.0.0.1");

在本地建立photo文件夹 用于保存文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值