javascript - 如何在 Node 中通过 http 管道流检测客户端关闭连接?

标签 javascript node.js http express stream

我在 expressjs (nodejs) 应用程序中将数据从服务器流式传输到客户端。

我做了这样的事情;

// let contentType and filename be correctly defined in context

function(req,res){
    res.setHeader('Content-Type',contentType);
    res.setHeader('Content-Disposition','attachment; filename='+filename);
    require('fs').createReadStream('/path/file').pipe(res);
}

我想知道客户端何时无法下载文件,但我不知道如何继续。

最佳答案

监听响应对象上的 close 事件。当与客户端的连接过早关闭(如刷新页面或关闭选项卡)时会发出此消息。

require('fs').createReadStream('/path/file').pipe(res).on('close',function(){
   //do stuff for closed connection
})

关于javascript - 如何在 Node 中通过 http 管道流检测客户端关闭连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31586763/

相关文章:

javascript - Kendo 中自定义按钮的鼠标悬停事件的工具提示?

javascript - 在正则表达式 JS 中包含多个字符集

javascript - 如何使用 Express 中的 basic-auth 中间件定向到默认登陆页面

vb.net - 从网站 VB.NET 的一部分获取文本

http - 如何在golang中为http header 中的主机与url中的主机设置不同的值

javascript - 如何使用 Python/Selenium webdriver 处理 Angularjs/Javascript 下拉菜单?

angularjs - 来自重定向的快速 Passport 身份验证空白页

node.js - 卡夫卡-超时错误: Request timed out after 30000ms

http - Golang gin 仅在 ipv4 中获取客户端 IP

Javascript,简化对象转换