首页 > 其他 > 详细

Node4-2静态资源服务器实战_实现获取文件路径

时间:2019-08-29 14:59:37      阅读:58      评论:0      收藏:0      [点我收藏+]

实例2 : 实现获取文件路径,判断是文件还是文件夹,如果是文件夹就显示里面的列表文件,如果是文件就显示里面的内容

defaultConfig.js

module.exports={
    root:process.cwd(),
    hostname:‘127.0.0.1‘,
    port:9527
}

app.js

const http = require(‘http‘);
const chalk = require(‘chalk‘)
const  path = require(‘path‘)
const fs =require(‘fs‘)
const conf = require(‘./config/defaultConfig.js‘);
const server = http.createServer((req,res)=>{
    const url = req.url;
    //拿到文件路径
    const filePath = path.join(conf.root,req.url)
    // 判断是一个文件夹还是一个文件
    fs.stat(filePath,(err,stats)=>{
        if(err){
            res.statusCode = 404
            res.setHeader(‘content-Type‘,‘text/plain‘)
            res.end(`${filePath} is not a directory or file`)
            return 
        }

        if(stats.isFile()){
            res.statusCode = 200
            res.setHeader(‘content-Type‘,‘text/plain‘)
            fs.createReadStream(filePath).pipe(res);
            // fs.readFile(filePath,(err,data)=>{
            //     res.end(data)
            // });
        }else if(stats.isDirectory()){
            fs.readdir(filePath,(err,files)=>{
                res.statusCode = 200
                res.setHeader(‘content-Type‘,‘text/plain‘)
                res.end(files.join(‘,‘));
            })
        }
    })
});

server.listen(conf.port,conf.hostname,()=>{
    const addr = `http://${conf.hostname}:${conf.port}`;
    console.log(`Server started at ${chalk.green(addr)}`);  
})

 

Node4-2静态资源服务器实战_实现获取文件路径

原文:https://www.cnblogs.com/chorkiu/p/11429472.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!