createReadStream().pipe() Callback

const stream = fs.createReadStream(‘<filepath>/example.pdf‘, {bufferSize: 64 * 1024})
stream.pipe(res);

let had_error = false;
stream.on(‘error‘, function(err){
  had_error = true;
});
stream.on(‘close‘, function(){
  if (!had_error) fs.unlink(‘<filepath>/example.pdf‘);
});
时间: 2024-10-13 06:20:59

createReadStream().pipe() Callback的相关文章

毕设-知识点

var path= require("path"): path.extname(); fs.ReadStream fs.exists(path, callback)  已废弃 fs.createReadStream.pipe() 读取视频  https://blog.csdn.net/liuyaqi1993/article/details/76560401 https://blog.csdn.net/xiaopeng_han123/article/details/78595063  

NodeJS静态文件访问性能测试

受益于JavaScript语言优秀特点,使NodeJS开发服务端应用很方便,配合NPM官方提供的大量第三方组件,让NodeJS更加如虎添翼.最近,需要使用NodeJS做一个服务端HTML5的游戏服务器,应用实现包含两大部分:一部分做HTTP服务器为客户端发送html.image.javascript等游戏资源文件:另一部分使用了socket.io实时响应玩家的操作.技术实现并不困难,但要实现一个轻量.稳定.流畅的HTTP静态文件服务器,还是需要花些心思的. 本文笔者对现有一些HTTP服务器的实现

node stream

Stream (流) 有四种流 1.readable - 可读操作 2.writable -可写操作 3.Duplex -可读可写操作 4.Transform - 操作被写入数据,然后读出结果 所有的Stream 对象都是EventEmitter的实例.常用的事件有 data -当有数据可读时触发 end  -没有更多数据时触发 error - 在接收和写入过程中发生错误时触发 finish - 所有数据被写入到底层系统时触发 pipe 管道流 readerStream.pipe(writerS

如何写一个能在gulp build pipe中任意更改src内容的函数

gulp在前端自动化构建中非常好用,有非常丰富的可以直接拿来使用的plugin,完成我们日常构建工作. 但是万事没有十全十美能够完全满足自己的需求,这时我们就要自己动手写一个小的函数,用于在gulp stream pipeline中执行我们想要的动作,比如我有一个需求在build后将gulp-inject插入的assets url修改为laravel的一个helper以便识别不同的运行环境:如果是staging环境则不要上cdn方便调试,如果是生产环境则将url修改为cdn的url,实现网站快速

CVE-2017-7494 Linux Samba named pipe file Open Vul Lead to DLL Execution

catalogue 1. 漏洞复现 2. 漏洞代码原理分析 3. 漏洞利用前提 4. 临时缓解 && 修复手段 1. 漏洞复现 1. SMB登录上去 2. 枚举共享目录,得到共享目录/文件列表,匿名IPC$将会被跳过 3. 从中过滤目录,检测是否可写(通过创建一个.txt方式实现) 4. 生成一个随机8位的so文件名,并将paylaod写入so中 5. 最后一步,连接到\\192.168.206.128\\IPC$,在smb登录状态下,创建/打开一个named pipe 0x1: POC1

Java NIO (五) 管道 (Pipe)

Java NIO 管道是2个线程之间的单向数据连接.Pipe有一个source通道和一个sink通道.数据会被写到sink通道,从source通道读取. 如下图: 向管道写数据: 从管道读数据: 1. 从读取管道的数据,需要访问source通道. 2. 调用source通道的read()方法来读取数据

linux下,pipe的容量的讨论与查看

1.pipe的容量 2.6标准版本的linux内核,pipe缓冲区是64KB,尽管命令ulimit -a看到管道大小8块,缓冲区的大小不是4 k,因为内核动态分配最大16"缓冲条目",乘64 k.这些限制是硬编码的 2.如何查看自己pc上的pipe多大 1)通过ulimit -a查看到 pipe size 一次原子写入为:512Bytes*8=4096Bytes 查看缓冲条目个数:cat /usr/src/kernels/3.10.0-327.el7.x86_64/include/li

Java-NIO(九):管道 (Pipe)

Java NIO 管道是2个线程之间的单向数据连接.Pipe有一个source通道和一个sink通道.数据会被写到sink通道,从source通道读取. 代码使用示例: 1 @Test 2 public void testPipe() throws IOException { 3 // 1.获取通道 4 Pipe pipe = Pipe.open(); 5 6 // 2.获取sink管道,用来传送数据 7 Pipe.SinkChannel sinkChannel = pipe.sink(); 8

[poj 2331] Water pipe ID A*迭代加深搜索(dfs)

Water pipe Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 2265 Accepted: 602 Description The Eastowner city is perpetually haunted with water supply shortages, so in order to remedy this problem a new water-pipe has been built. Builders s