基于nodejs+express4.X实现文件下载的实例代码


Posted in NodeJs onJuly 13, 2017

之前写了一个关于基于nodejs+express4.X实现文件下载实例,最近需要回顾,就顺便发到随笔上了

在nodejs的express框架中,下载变得非常简单,就一个方法,res.download()

首先express命令行生成项目基本框架: 不会的看这里:https://3water.com/article/118537.htm

看看api

基于nodejs+express4.X实现文件下载的实例代码

看看源码

基于nodejs+express4.X实现文件下载的实例代码

其实底层还是res.sendFile(),头部也已经设定好了.

测试

1.在public文件夹下放入1.jpg图片和1.txt文件

2.在index.js里添加路由方法

router.get('/download', function (req, res,next) { 
 var q = req.query; 
 if (q.type == 'jpg') { 
 
 //相对路径 
 res.download('public/1.jpg'); 
 }else if (q.type == 'txt') { 
 
 //绝对路径 
 res.download(`F:/testredis/public/1.txt`); 
 }else{ 
 res.send('错误的请求'); 
 } 
});

3.浏览器访问:

http://localhost:3000/download?type=1
http://localhost:3000/download?type=jpg
http://localhost:3000/download?type=txt

第一个会提示错误,第二个会下载图片,第三个会下载txt文件.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
Ubuntu中搭建Nodejs开发环境过程分享
Jun 01 NodeJs
NodeJS中Buffer模块详解
Jan 07 NodeJs
深入浅析NodeJs并发异步的回调处理
Dec 21 NodeJs
nodejs微信公众号支付开发
Sep 19 NodeJs
nodejs中全局变量的实例解析
Mar 07 NodeJs
简单好用的nodejs 爬虫框架分享
Mar 26 NodeJs
nodejs mysql 实现分页的方法
Jun 06 NodeJs
nodejs前端自动化构建环境的搭建
Jul 26 NodeJs
nodejs创建简易web服务器与文件读写的实例
Sep 07 NodeJs
nodejs操作mongodb的增删改查功能实例
Nov 09 NodeJs
基于nodejs实现微信支付功能
Dec 20 NodeJs
nodejs二进制与Buffer的介绍与使用
Jul 11 NodeJs
详解nodejs的express如何自动生成项目框架
Jul 12 #NodeJs
nodejs中sleep功能实现暂停几秒的方法
Jul 12 #NodeJs
nodejs中解决异步嵌套循环和循环嵌套异步的问题
Jul 12 #NodeJs
深入学习nodejs中的async模块的使用方法
Jul 12 #NodeJs
nodejs后台集成ueditor富文本编辑器的实例
Jul 11 #NodeJs
nodejs开发微信小程序实现密码加密
Jul 11 #NodeJs
nodejs接入阿里大鱼短信验证码的方法
Jul 10 #NodeJs
You might like
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
手冲咖啡应该是现代精品咖啡店的必备选项吗?
2021/03/03 冲泡冲煮
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
PHP浮点数的一个常见问题
2016/03/10 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
2017/07/10 PHP
Javascript 判断函数类型完美解决方案
2009/09/02 Javascript
javascript 获取模态窗口的滚动位置代码
2013/08/06 Javascript
Windows系统下使用Sublime搭建nodejs环境
2015/04/13 NodeJs
JS正则子匹配实例分析
2016/12/22 Javascript
JS前向后瞻正则表达式定义与用法示例
2016/12/27 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
2017/03/08 Javascript
Vuex之理解Getters的用法实例
2017/04/19 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
[59:08]Ti4 冒泡赛第二天 NEWBEE vs Titan 2
2014/07/15 DOTA
python登录QQ邮箱发信的实现代码
2013/02/10 Python
在Python的Bottle框架中使用微信API的示例
2015/04/23 Python
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
wxpython中Textctrl回车事件无效的解决方法
2016/07/21 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
python抓取需要扫微信登陆页面
2019/04/29 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
python pip如何手动安装二进制包
2020/09/30 Python
python 爬虫如何正确的使用cookie
2020/10/27 Python
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
C语言编程题
2015/03/09 面试题
土木工程个人自荐信范文
2013/11/30 职场文书
融资租赁计划书
2014/04/29 职场文书
社区爱国卫生月活动总结
2014/06/30 职场文书
企业开业庆典答谢词
2015/01/20 职场文书
付款证明格式范文
2015/06/19 职场文书
HTML基本元素标签介绍
2022/02/28 HTML / CSS