Node.js

Node.js进阶之【1】 : 向服务器写入文件、读取文

2020-03-17  本文已影响0人  岚平果

一、写入文件

// fs模块用于对系统文件及目录进行读写操作。
const fs = require('fs');

// fs.writeFile(文件名、要写入的内容、回调函数返回的写入错误信息)
fs.writeFile('aaa.text', '内容', (err) => {
    console.log(err)
})

二、读取文件

// fs.readFile(要读取的文件名, 回调函数返回的读取错误和读取正确返回的信息)
fs.readFile('aaa.text', (err, data) => {
    if(err) {
        console.log('读取文件失败')
    } else{
        // toString()是把二进制转化成可识别的内容
        console.log(data.toString())
    }
})

三、[fs.rename] 更改文件名称

fs.rename('原来的文件名称', '现在的文件名称',(err, data) =>{
  if(err) {
    console.log('更改失败')
  } else{
    console.log('更改成功')
  }
})

更改前:


image.png

更改后:


image.png

四、客户端向服务器请求读取文件

//  引入http模块
const http = require('http');
// 引入file stytem
const fs = require('fs');
// 建立一个服务器,名称为 server
var server = http.createServer((req, res) => {
    // 客户端发来的请求地址,默认的情况下请求的是 /favicon.ico
    console.log(req.url)
    // 结束请求
    res.end();
})
// 服务器监听,8080为终端,可以为任何数字
server.listen(8080);
node server.js
var file_name = './www' + req.url;
image.png
const http = require('http');
const fs = require('fs');
var server = http.createServer((req, res) => {
    // 客户端发来的请求地址,默认的情况下请求的是 /favicon.ico
    var file_name = './www' + req.url;
    fs.readFile(file_name, (err, data) =>{
        if(err) {
            res.write('404')
        } else {
            res.write(data)
        }
        // 结束请求要放在fs回调函数里面,等待文件读取完成后再结束这个访问请求
        res.end();
    })
})
// 服务器监听,8080为终端,可以为任何数字
server.listen(8080);
image.png
if(req.url !== '/favicon.ico') {}
image.png
上一篇 下一篇

猜你喜欢

热点阅读