zoukankan      html  css  js  c++  java
  • staticFileServer.js

    var http = require('http')
    , fs = require('fs')
    , url = require('url')
    , path = require('path');
    
    http.createServer(function(req, res) {
        var pathurl = url.parse(req.url).pathname;
        var abspath = __dirname + pathurl;
        fs.exists(abspath, function(exists) {
            if (exists) {
                //二进制方式读取文件
                fs.readFile(abspath, 'binary', function(err, data) {
                    if (err) {
                        res.writeHeader(500);
                        return res.end('index.html error');
                    }
                    var ext = path.extname(pathurl);
                    var mini = ext ? ext.slice(1) : 'unknow';
                    res.writeHead(200, {'Content-Type': MiniType[mini] || "text/plain", 'The-key-is': '48435483121810xsafa2'});
                    res.write(data, 'binary');
                    res.end();
                })
            } else {
                res.end('404 File not found.');
            }
        })
    }).listen(2233);
    
    MiniType = {
        '323':'text/h323',
        acx:'application/internet-property-stream',
        ai:'application/postscript',
        aif:'audio/x-aiff',
        aifc:'audio/x-aiff',
        aiff:'audio/x-aiff',
        asf:'video/x-ms-asf',
        asr:'video/x-ms-asf',
        asx:'video/x-ms-asf',
        au:'audio/basic',
        avi:'video/x-msvideo',
        axs:'application/olescript',
        bas:'text/plain',
        bcpio:'application/x-bcpio',
        bin:'application/octet-stream',
        bmp:'image/bmp',
        c:'text/plain',
        cat:'application/vnd.ms-pkiseccat',
        cdf:'application/x-cdf',
        cer:'application/x-x509-ca-cert',
        'class':'application/octet-stream',
        clp:'application/x-msclip',
        cmx:'image/x-cmx',
        cod:'image/cis-cod',
        cpio:'application/x-cpio',
        crd:'application/x-mscardfile',
        crl:'application/pkix-crl',
        crt:'application/x-x509-ca-cert',
        csh:'application/x-csh',
        css:'text/css',
        dcr:'application/x-director',
        der:'application/x-x509-ca-cert',
        dir:'application/x-director',
        dll:'application/x-msdownload',
        dms:'application/octet-stream',
        doc:'application/msword',
        dot:'application/msword',
        dvi:'application/x-dvi',
        dxr:'application/x-director',
        eps:'application/postscript',
        etx:'text/x-setext',
        evy:'application/envoy',
        exe:'application/octet-stream',
        fif:'application/fractals',
        flr:'x-world/x-vrml',
        gif:'image/gif',
        gtar:'application/x-gtar',
        gz:'application/x-gzip',
        h:'text/plain',
        hdf:'application/x-hdf',
        hlp:'application/winhlp',
        hqx:'application/mac-binhex40',
        hta:'application/hta',
        htc:'text/x-component',
        htm:'text/html',
        html:'text/html',
        htt:'text/webviewhtml',
        ico:'image/x-icon',
        ief:'image/ief',
        iii:'application/x-iphone',
        ins:'application/x-internet-signup',
        isp:'application/x-internet-signup',
        jfif:'image/pipeg',
        jpe:'image/jpeg',
        jpeg:'image/jpeg',
        jpg:'image/jpeg',
        js:'application/x-javascript',
        latex:'application/x-latex',
        lha:'application/octet-stream',
        lsf:'video/x-la-asf',
        lsx:'video/x-la-asf',
        lzh:'application/octet-stream',
        m13:'application/x-msmediaview',
        m14:'application/x-msmediaview',
        m3u:'audio/x-mpegurl',
        man:'application/x-troff-man',
        mdb:'application/x-msaccess',
        me:'application/x-troff-me',
        mht:'message/rfc822',
        mhtml:'message/rfc822',
        mid:'audio/mid',
        mny:'application/x-msmoney',
        mov:'video/quicktime',
        movie:'video/x-sgi-movie',
        mp2:'video/mpeg',
        mp3:'audio/mpeg',
        mpa:'video/mpeg',
        mpe:'video/mpeg',
        mpeg:'video/mpeg',
        mpg:'video/mpeg',
        mpp:'application/vnd.ms-project',
        mpv2:'video/mpeg',
        ms:'application/x-troff-ms',
        mvb:'application/x-msmediaview',
        nws:'message/rfc822',
        oda:'application/oda',
        p10:'application/pkcs10',
        p12:'application/x-pkcs12',
        p7b:'application/x-pkcs7-certificates',
        p7c:'application/x-pkcs7-mime',
        p7m:'application/x-pkcs7-mime',
        p7r:'application/x-pkcs7-certreqresp',
        p7s:'application/x-pkcs7-signature',
        pbm:'image/x-portable-bitmap',
        pdf:'application/pdf',
        pfx:'application/x-pkcs12',
        pgm:'image/x-portable-graymap',
        pko:'application/ynd.ms-pkipko',
        pma:'application/x-perfmon',
        pmc:'application/x-perfmon',
        pml:'application/x-perfmon',
        pmr:'application/x-perfmon',
        pmw:'application/x-perfmon',
        pnm:'image/x-portable-anymap',
        pot:'application/vnd.ms-powerpoint',
        ppm:'image/x-portable-pixmap',
        pps:'application/vnd.ms-powerpoint',
        ppt:'application/vnd.ms-powerpoint',
        prf:'application/pics-rules',
        ps:'application/postscript',
        pub:'application/x-mspublisher',
        qt:'video/quicktime',
        ra:'audio/x-pn-realaudio',
        ram:'audio/x-pn-realaudio',
        ras:'image/x-cmu-raster',
        rgb:'image/x-rgb',
        rmi:'audio/mid',
        roff:'application/x-troff',
        rtf:'application/rtf',
        rtx:'text/richtext',
        scd:'application/x-msschedule',
        sct:'text/scriptlet',
        setpay:'application/set-payment-initiation',
        setreg:'application/set-registration-initiation',
        sh:'application/x-sh',
        shar:'application/x-shar',
        sit:'application/x-stuffit',
        snd:'audio/basic',
        spc:'application/x-pkcs7-certificates',
        spl:'application/futuresplash',
        src:'application/x-wais-source',
        sst:'application/vnd.ms-pkicertstore',
        stl:'application/vnd.ms-pkistl',
        stm:'text/html',
        svg:'image/svg+xml',
        sv4cpio:'application/x-sv4cpio',
        sv4crc:'application/x-sv4crc',
        swf:'application/x-shockwave-flash',
        t:'application/x-troff',
        tar:'application/x-tar',
        tcl:'application/x-tcl',
        tex:'application/x-tex',
        texi:'application/x-texinfo',
        texinfo:'application/x-texinfo',
        tgz:'application/x-compressed',
        tif:'image/tiff',
        tiff:'image/tiff',
        tr:'application/x-troff',
        trm:'application/x-msterminal',
        tsv:'text/tab-separated-values',
        txt:'text/plain',
        uls:'text/iuls',
        ustar:'application/x-ustar',
        vcf:'text/x-vcard',
        vrml:'x-world/x-vrml',
        wav:'audio/x-wav',
        wcm:'application/vnd.ms-works',
        wdb:'application/vnd.ms-works',
        wks:'application/vnd.ms-works',
        wmf:'application/x-msmetafile',
        wps:'application/vnd.ms-works',
        wri:'application/x-mswrite',
        wrl:'x-world/x-vrml',
        wrz:'x-world/x-vrml',
        xaf:'x-world/x-vrml',
        xbm:'image/x-xbitmap',
        xla:'application/vnd.ms-excel',
        xlc:'application/vnd.ms-excel',
        xlm:'application/vnd.ms-excel',
        xls:'application/vnd.ms-excel',
        xlt:'application/vnd.ms-excel',
        xlw:'application/vnd.ms-excel',
        xof:'x-world/x-vrml',
        xpm:'image/x-xpixmap',
        xwd:'image/x-xwindowdump',
        z:'application/x-compress',
        zip:'application/zip'
    }
  • 相关阅读:
    MySQL视图
    MySQL触发器
    SQL语法详解
    MySQL函数和操作符
    MySQL常用查询
    MySQL数据类型
    MySQL操作详解
    MySQL学习-SQL约束
    MySQL 其它基本操作
    MySQL创建数据库并插入数据
  • 原文地址:https://www.cnblogs.com/zhoulingfeng/p/3888768.html
Copyright © 2011-2022 走看看