简介

文件下载非常简单,仅需通过res.download()执行即可,他可以写为3种形式:

res.download('/report-12345.pdf');res.download('/report-12345.pdf', 'report.pdf');res.download('/report-12345.pdf', 'report.pdf', function(err){if (err) {// 错误处理,注意他可能会部分发送响应// 因此请检查好  res.headersSent} else {// 减少下载验证}
});

以下是一个对选择对应文件进行下载的实例:
html:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><form action="http://localhost:8080/" method="post" enctype="application/x-www-form-urlencoded"><input type="file" name="files" value="选择下载的文件"><br><br><input type="submit" value="下载"></form></body>
</html>

js:

const express=require("express");
const bodyParser=require("body-parser");var app=express();var jsonParser = bodyParser.json();
var urlencodedParser = bodyParser.urlencoded({ extended: false });app.post('/',urlencodedParser,function(req,res){res.download("./public/"+req.body.files,req.body.files,err=>{if(err){res.send("上传失败!");}else{console.log("上传成功!");}});
});app.listen(8080);

我们可以选择根目录public下的文件对其进行下载。

Express全系列教程之(十五):文件下载相关推荐

  1. Express全系列教程之(十):jade模板引擎

    一.前言 随着前端业务的不断发展,页面交互逻辑的不断提高,让数据和界面实现分离渐渐被提了出来.JavaScript的MVC思想也流行了起来,在这种背景下,基于node.js的模板引擎也随之出现. 什么 ...

  2. Java NIO系列教程(十 五)Java NIO Path

    转载自  Java NIO系列教程(十 五)Java NIO Path 译文链接  译者:章筱虎 Java的Path接口是Java NIO2 的一部分,是对Java6 和Java7的 NIO的更新.J ...

  3. SpringBoot 系列教程(八十五):Spring Boot使用MD5加盐验签Api接口之前后端分离架构设计

    加密算法参考: 浅谈常见的七种加密算法及实现 加密算法参考: 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用 目的: 通过对API接口请求报文签名,后端进行验签处理, ...

  4. 推荐系统系列教程之十五:一网打尽协同过滤、矩阵分解和线性模型

    编者按:之前推出了<推荐系统系列教程>,反响不错,前面已经推出了十四期,今天按约推出第十五期:一网打尽协同过滤.矩阵分解和线性模型.希望朋友们多点"在看",多多转发,我 ...

  5. Express全系列教程之(五):Express的中间件

    一.中间件 从字面意思,我们可以了解到它大概就是做中间代理操作,事实也是如此:大多数情况下,中间件就是在做接收到请求和发送响应中间的一系列操作.事实上,express是一个路由和中间件的web框架,E ...

  6. Express全系列教程之(四):获取Post参数的两种方式

    一.关于POST请求 post方法作为http请求很重要的一部分,几乎所有的网站都有用到它,与get不同,post请求更像是在服务器上做修改操作,它一般用于数据资源的更新. 相比于get请求,post ...

  7. SpringBoot 系列教程(六十五):Spring Boot整合WxJava开发微信公众号

    一.前言 做微信公众号开发项目以及近两年整了,积累了一点微薄的行业经验,既然开了微信开发专栏博客,那么今天就来回忆回忆,从零开始搭建一个微信公众号开发的框架,可以用于企业级项目开发的脚手架,同时搭配博 ...

  8. Java NIO系列教程(十二) Java NIO与IO

    原文地址:http://tutorials.jenkov.com/java-nio/nio-vs-io.html 作者:Jakob Jenkov   译者:郭蕾    校对:方腾飞 当学习了Java ...

  9. SAP UI5 应用开发教程之五十五 - 如何将本地 SAP UI5 应用通过 Node.js Express 部署到公网上试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

最新文章

  1. java 的lambda表达式
  2. 速卖通店铺流量少的原因分析以及解决办法
  3. 信息系统项目管理师-项目合同管理考点笔记
  4. nyoj 1261 音痴又音痴的LT(离散化+树状数组求K小数)
  5. 基于图像处理的数码印花喷墨墨滴形状规范的研究(Python+OpenCV+Mysql)
  6. 工作173:数组转换为对象
  7. JS事件的捕获和冒泡阶段
  8. Windows 10下使用Anaconda安装TensorFlow1.8
  9. 关于session应用(2)--JAVA中怎么使用session
  10. Cocos2d-X开发中国象棋《八》走棋
  11. 涂料价格上涨原因剖析
  12. oracle mysql 同义词_Oracle数据库同义词
  13. 000001 Kick off
  14. Vue3 源码阅读(3):响应式系统 —— 重置 effect 的依赖收集、嵌套的 effect、effect 调度执行
  15. 电动机三相电流为什么不平衡?
  16. 基于springboot的会员后台管理系统
  17. 【html+css】
  18. sublime text 光标移动行末/行首
  19. 解决mac pro 装 win10以后 蓝牙 卡顿的问题
  20. cocoscreator修改鼠标图标样式

热门文章

  1. Docker 安装配置Crowd
  2. LCD Backlight 的分析
  3. Spring的constructor-arg 与property注入
  4. Qt安装包百度网盘下载分享
  5. YonBuilder移动开发平台功能大盘点
  6. 为win11家庭中文版开启组策编辑器
  7. Androidstudio 最权威使用技巧, 持续更新
  8. 【Simulink教程案例17】基于simulink的伪码序列相关峰检测仿真——将matlab数据导入到Simulink中作为信号源
  9. php健身房管理系统文献综述,课程教材管理系统设计-php(开题报告+源程序+论文+答辩PPT+文献综述)...
  10. BBR学习笔记--什么是BBR、可调整的参数