美文网首页
四、node读取不同类型的文件

四、node读取不同类型的文件

作者: 向上而活 | 来源:发表于2019-08-21 23:33 被阅读0次
    //读取不同类型的文件(img、html、css、js........)
    var http=require("http");
    var fs=require("fs");
    var url=require("url");
    var path=require("path");
    
    var server=http.createServer(function(req,res){
        //这里如果不用req.url来if判断,那么用户不管输入什么网址,做的事情都一样
        //得到地址
        var pathname=url.parse(req.url).pathname;
        //判读此时用户输入的地址是文件夹地址还是文件地址
        //如果是文件夹地址,那么自动请求这个文件夹中的index.html
        if(pathname.indexOf('.')==-1){
            pathname+="/index.html";
        }
        //输入的网址是127.0.0.1/images/logo.png
        //实际请求的是./static/images/logo.png
        var fileurl="./"+path.normalize("./static/"+pathname);
        //得到拓展名
        var extname=path.extname();
        //把文件读出来
        fs.feadFile(fileurl,function(err,data){
            //读完之后做的事情
            if(err){
                //文件不存在
                res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"})
                res.end("404,页面没有找到");
            }
            //读完之后做的事情
            getMime(extname,function(mime){
                res.writeHead(200,{"Conment-Type":mime})
                res.end(data);
            });
        });
    });
    server.listen(80,"127.0.0.1");
    function getMime(extname,callback){
        //读取mime.json 得到JSON,根据extname key,返回对应的value
        //读取文件
        fs.readFile("./mime.json",function(err,data){
            if(err){
                throw Error("找不到mime.json文件");
                return;
            }
            //转成JSON
            var mimeJSON=JSON.parse(data);
            var mime=mimeJSON[extname]||"text/plain";
            
            callback(mime);
        })
    }
    

    相关文章

      网友评论

          本文标题:四、node读取不同类型的文件

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