node 读取文件内容并响应

node 读取文件内容并响应

const http = require('http');
const fs = require('fs')
//创建 Server
const server = http.createServer()

// 监听request请求事件,设置请求处理函数

server.on('request', (req, res) => {
    const url = req.url
    if (url === '/') {
        fs.readFile('./index.html', function (err, data) {
            if (err) {
                res.setHeader('Content-Type', 'text/plain; charset=utf-8')
                res.end('文件读取失败,请稍后重试!')
            } else {
                // data 默认是二进制数据,可以通过 .toString 转我们能识别的字符串
                // res.end() 支持两种数据类型, 一是二进制, 二是字符串
                res.setHeader('Content-Type', 'text/html; charset=utf-8')
                res.end(data)
            }
        })
    } else if (url === '/img') {
        // url 统一资源定位符
        // 一个 url 最终其实是要对应到一个资源的
        fs.readFile('./img.jpg', function (err, data) {
            if (err) {
                res.setHeader('Content-Type', 'text/plain; charset=utf-8')
                res.end('图片读取失败,请稍后重试!')
            } else {
                // 图片不需要指定编码了, 因为我们常说的编码一般指:字符串编码
                res.setHeader('Content-Type', 'image/jpeg')
                res.end(data)
            }
        })
    }
})

//绑定端口号,启动服务
server.listen(3000, function () {
    console.log("http://localhost:3000");
});

你可能感兴趣的:(#,node.js,js,nodejs)