zoukankan      html  css  js  c++  java
  • 判断mine类型

    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(pathname);
    
        //把文件读出来
        fs.readFile(fileURL,function(err,data){
            //读完之后做的事情
            if(err){
                //文件不存在
                res.writeHead(404,{"Content-Type":"text/html;charset=UTF8"})
                res.end("404,页面没有找到");
            }
            //读完之后做的事情
            getMime(extname,function(mime){
                res.writeHead(200,{"Content-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";
            //执行回调函数,mime类型字符串,就是它的参数
            callback(mime);
        });
    }
  • 相关阅读:
    Java学习——HashMap
    git 常用命令
    java 正则表达式
    java 读写文件
    python Shapely 使用指南
    java 删除目录、 文件
    Java maven安装GDAL
    postgresql运维
    (转)媒体格式分析之flv -- 基于FFMPEG
    (转)rtmp协议简单解析以及用其发送h264的flv文件
  • 原文地址:https://www.cnblogs.com/Erick-L/p/7768837.html
Copyright © 2011-2022 走看看