NoteZ_技术博客 NoteZ_技术博客
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)

NoteZ_技术博客

前端界的小学生
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)
  • Express

    • Express 通过 Http 下载文件
    • Express中使用间件Multer保存图片文件(示例)
    • Express结合中间件Multer保存上传文件或文件夹
    • Express解决Vue打包部署刷新出现404问题
    • Node 中 Express 检查端口是否被占用(完美方案)
    • Nodejs 中使用 express 报 413 payload too large
    • 使用 express-generator 脚手架快速搭建 express 项目
  • Koa2

  • MongoDB

  • MySql

  • NodeJs

  • Oracle

  • Rust

  • Python

  • 后端开发
  • Express
NoteZ
2022-05-27

Express 通过 Http 下载文件

router.get('/download', (req, res) => { 
  let filePath = path.join(__dirname, `../${basePath}/${data.path}`) 
  let stats = fs.statSync(filePath);
  if (stats.isFile()) {
  
     /******  方法一  ********/ 
    // res.download(filePath, function (err) {
    //  if (err) { console.log(err); }
    // });
    try {
      let filePath = '/test.txt';
      let fileName = path.basename(filePath);
      res.download(filePath, fileName);
    } catch (error) {
      return res.status(500).send({
        result: 'error',
        message: `Failed to download file: ${error.message}`
      })
    }
     
    /******  方法二  ********/ 
    res.set({
      'Content-Type': 'application/octet-stream',
      // 'Content-Disposition': 'attachment; filename=' + fileName,
      'Content-Length': stats.size
    });
    fs.createReadStream(filePath).pipe(res);
  } else {
    res.json({ code: 500, message: "文件不存在!" });
  } 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#Express
上次更新: 2024/01/30, 00:35:17
Express中使用间件Multer保存图片文件(示例)

Express中使用间件Multer保存图片文件(示例)→

最近更新
01
Gitea数据备份与还原
03-10
02
Linux 中使用 rsync 同步文件目录教程
03-10
03
Linux 使用 rsync 互相传输同步文件的简单步骤
03-08
更多文章>
Theme by Vdoing | Copyright © 2019-2025 NoteZ,All rights reserved | 冀ICP备2021027292号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式