美文网首页
nodeJS - 上传图片

nodeJS - 上传图片

作者: 大大的小小小心愿 | 来源:发表于2018-06-05 08:52 被阅读0次

    如图:
    将姓名、年龄信息存入文件中;
    图片存储在另一文件夹中


    屏幕快照 2018-01-29 下午7.48.13.png

    思路:

    一、获取预定义参数
    二、创建服务器,端口号
    三、显示HTML样式
    四、点击提交,请求传递

    1、引入文件
    2、解析:获取 字段、文件 
        2.1 存储字段
        2.2 存储文件(图片) 
            2.2.1、判断是否有装图片的文件夹,无则创建一个
            2.2.2、获取图片临时存放路径
            2.2.3、创建可读、可写流;将图片写入文件夹
            2.2.4、判断是否存放成功 (可读流结束)
    
    // 一、获取预定义参数
    var http =require("http");
    var fs = require("fs");
    var url = require("url");
    
    var formidable = require("formidable");
        // 二、创建服务器,端口号
        var server = http.createServer(function(req,res){
        var pathname = url.parse(req.url,true).pathname;
        // 三、显示HTML样式
        if(pathname == "/"){
            var rs = fs.createReadStream("uploads.html");
            rs.pipe(res);
        }
        // 四、点击提交,请求传递
        else if(pathname == "/uploads"){
            // 1、引入文件
            var form = new formidable.IncomingForm();
            // 2、解析:获取 字段、文件
            form.parse(req,function(err,fields,files){
                if(err){
                    return console.log(err);
                }else{
                    // 2.1 存储字段
                    var fieldStr = JSON.stringify(fields);
                    fs.writeFileSync("1.txt",fieldStr);
                    // 2.2 存储文件(图片) 
                    // 2.2.1、判断是否有装图片的文件夹,无则创建一个
                    if(!fs.existsSync("uploads")){
                        fs.mkdir("uploads");
                    }
                    // 2.2.2、获取图片临时存放路径
                    var filePath = files.img.path;
                    // 2.2.3、创建可读、可写流;将图片写入文件夹
                    var rs = fs.createReadStream(filePath);
                    var ws = fs.createWriteStream("./uploads/"+files.img.path);
                    rs.pipe(ws);
                    // 2.2.4、判断是否存放成功 (可读流结束)
                    res.setHeader("Content-type","text/html;charset=utf-8");
                    rs.on("end",function(){
                        res.write("上传成功");
                        res.end();
                    })
                }
            })
        }
    })
    server.listen(8999);

    相关文章

      网友评论

          本文标题:nodeJS - 上传图片

          本文链接:https://www.haomeiwen.com/subject/qasfzxtx.html