当前位置: 首页 > news >正文

Node.js实现文件下载

1.设置响应头:
使用 res.writeHead 设置适当的响应头,包括 Content-Type 和 Content-Disposition 以触发下载对话框。
2.创建文件读取流:
使用 fs.createReadStream 创建文件读取流,并通过 pipe 方法将其连接到响应对象 res,从而将文件内容发送给客户端。

const express = require('express');
const path = require('path');
const fs = require("fs");
const router = express.Router();router.get('/download/example.txt', function(req, res) {const filePath = path.join(__dirname, 'example.txt');// 设置响应头res.writeHead(200, {'Content-Type': 'application/octet-stream','Content-Disposition': 'attachment; filename="example.txt"'});// 创建文件读取流并将其连接到响应对象const fileStream = fs.createReadStream(filePath);fileStream.pipe(res);
});

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 记录些MySQL题集(15)
  • idea Apipost 插件导出接口文档字段类型全部是string
  • webpack和vite
  • (算法)区间调度问题
  • electron 的nsis配置
  • myeclipse开发ssm框架项目图书管理系统 mysql数据库web计算机毕业设计项目
  • 高数知识补充----矩阵、行列式、数学符号
  • 『 Linux 』简单日志插件
  • IDEA自带的Maven 3.9.x无法刷新http nexus私服
  • Ubuntu 24.04安装Jellyfin媒体服务器图解教程
  • 【大型实战】企业网络实验(华为核心交换、ESXI7.0vmware虚拟机、DHCP中继、服务端网络及用户端网络配置)
  • 【JAVA poi-tl-ext 富文本转word】
  • GuLi商城-商品服务-API-品牌管理-JSR303自定义校验注解
  • 【JVM实战篇】内存调优:内存问题诊断+案例实战
  • 微调 Florence-2 - 微软的尖端视觉语言模型
  • 【刷算法】求1+2+3+...+n
  • 5、React组件事件详解
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  •  D - 粉碎叛乱F - 其他起义
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • express如何解决request entity too large问题
  • Java 最常见的 200+ 面试题:面试必备
  • Java,console输出实时的转向GUI textbox
  • JS+CSS实现数字滚动
  • RxJS: 简单入门
  • Sublime Text 2/3 绑定Eclipse快捷键
  • vue--为什么data属性必须是一个函数
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 分享一份非常强势的Android面试题
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 基于游标的分页接口实现
  • 聊聊redis的数据结构的应用
  • 排序算法学习笔记
  • 如何实现 font-size 的响应式
  • 数据仓库的几种建模方法
  • 新手搭建网站的主要流程
  • 一个完整Java Web项目背后的密码
  • 回归生活:清理微信公众号
  • 选择阿里云数据库HBase版十大理由
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (Matlab)使用竞争神经网络实现数据聚类
  • (windows2012共享文件夹和防火墙设置
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (二)WCF的Binding模型
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (计算机网络)物理层
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (学习日记)2024.01.09
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • .bat文件调用java类的main方法
  • .java 9 找不到符号_java找不到符号