当采用Node.js搭建服务器需要响应浏览器发送的资源请求,服务端应该如何进行磁盘管理操作

由于文件我们预先是不是知道的

var http=require('http')
http.createServer(function(req,res){res.end()})

请求资源一般是要在req.url进行解析获取到资源的路径,这里我假设已近得到了路径path

读取文件方式

文件模块对文件的读取常规方法fs.readFile(),fs.readFileSync()

首先采用同步方法,这种方法会堵塞执行,不可取

第二种是异步方法,只要在读取完成之后在回调函数中获取,这也是要等待许久(如果文件过大的话)也不可取

还有一个种方式以文件流的形式传输,fs.createReadStream(path)

通过事件监听

var stream=fs.createReadStream(path)
stream.on('data',function(chunk){res.write(chunk)})
stream.on('end',function(){res.end()})

这样书写形式不是最简单

fs.createReadStream(path).pipe(res)

不在采用事件监听的形式,从数据起始到传递由管道自动去执行

Node.js web服务器文件读取相关推荐

  1. [Node.js] 模块化 -- fs文件读取模块

    基本用法 导包: const fs = require('fs'); 调用unlink方法: 第一个参数:要删除的文件的路径 第二个参数:回调函数 // 01.导包 const fs = requir ...

  2. Elasticsearch:使用 Filebeat 从 Node.js Web 应用程序提取日志

    本指南演示了如何从 Node.js Web 应用程序中提取日志并将它们安全地传送到 Elasticsearch Service 部署中. 你将设置 Filebeat 来监控具有标准 Elastic C ...

  3. 【Node】node.js实现服务器的反向代理,解决跨域问题

    跨域对于前端来说是一个老大难的问题,许多方法如jsonp.document.domain + iframe...都有或多或少的问题,一个最佳实践就是通过服务器nginx做反向代理,但奈何不懂相关知识, ...

  4. Node.js Web 模块

    Node.js Web 模块 什么是 Web 服务器? Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务.它只需支持HTTP协议. ...

  5. 40.Node.js Web 模块

    转自:http://www.runoob.com/nodejs/nodejs-module-system.html 什么是 Web 服务器? Web服务器一般指网站服务器,是指驻留于因特网上某种类型计 ...

  6. js删除服务器上文件,js删除服务器文件

    js删除服务器文件 内容精选 换一换 目标服务器已安装操作系统,并且处于联网状态.目标服务器已安装鲲鹏编译插件. 保护组生产站点服务器为SUSE操作系统,对该云服务器开启容灾保护后,执行切换操作,云服 ...

  7. Node.js Web 模块(客户端 服务端实例)

    Node.js Web 模块 Web 应用架构 Client - 客户端,一般指浏览器,浏览器可以通过 HTTP 协议向服务器请求数据. Server - 服务端,一般指 Web 服务器,可以接收客户 ...

  8. Node.js(一)——(Node.js安装及使用,通过Node.js搭建服务器,模块化及自定义模块,npm/yarn/nvm,内置模块fs的使用,buffer及stream,新闻列表案例)

    目录 1.Node.js介绍 2.安装Node.js 3.使用Node.js实现第一个服务器 3.1初步感受Node.js 3.2Google Chrome 默认非安全端口列表,尽量避免以下端口. 3 ...

  9. Node.js Web开发_第二章(2)

    电子书推荐 Digital Forensics with Kali Linux, 2nd Edition Debugging CSS Practical Entity Framework Core 6 ...

最新文章

  1. python爬去学校_python爬取学校教务系统
  2. gcn语义分割_ICCV Oral 2019:152层GCN大幅加深图卷积网络的方法,点云分割任务效果显著...
  3. JAVA中字符串比较equals()和equalsIgnoreCase()的区别
  4. 长沙计算机中级职称分数公布,大家所期待的2020年湖南省长沙中级职称评审公示...
  5. MTCNN-tensorflow源码解析之训练PNet网络-train_PNet.py
  6. 厄米高斯光束 matlab,拉盖尔高斯光束_厄米高斯光束MATLAB仿真
  7. 问题三十五: 怎么用ray tracing画二次曲面(quadratic surfaces)(5)——汇总
  8. 人脸照片不规范、如何更改?pupiIDistanceTooSmall 错误
  9. 程序员工作交接文档怎么写_IT交接事项.doc
  10. spark数据清洗解决方案
  11. 第六章 算法algorithms
  12. HTML期末大作业~海贼王大学生HTML网页制作10个页面作品(HTML+CSS+JavaScript)
  13. love2d 开发环境
  14. 计算机的复数形式英语,名词的复数形式大全
  15. 服务器临时文件定时清理,定时/开机自动清理Win10临时文件夹的技巧
  16. 中青网财经:请一位心理学博士当CTO 只有马云敢这么做
  17. 路由追踪traceroute分析
  18. 43、总建筑面积大于20000㎡的地下或半地下建筑的防火要求
  19. 空间数据引擎oracle_SQL/Oracle数据库是怎样与GIS的应用相联系起来的?
  20. Nginx+Apache一前一后双引擎驱动的你网站

热门文章

  1. php 身份证号码获取星座和生肖
  2. 利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
  3. 服务器无线桥接,服务器无线桥接设置方法
  4. 成都东部新区与百度签约战略合作,共同打造新型智慧城市标杆
  5. 小程序学习知识点day1
  6. 洪山区软件和信息服务业企业入库项目申报条件、材料及方式
  7. linux 中文ssid 显示,秀出个性!家中WiFi如何显示中文SSID?(全文)
  8. mac开机一直报错重启
  9. 牛客——牛妹与牛牛的游戏
  10. iOS 应用内跳转到设置页