基于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 相关文章推荐
用nodejs实现PHP的print_r函数代码
Mar 14 NodeJs
初始Nodejs
Nov 08 NodeJs
轻松创建nodejs服务器(10):处理POST请求
Dec 18 NodeJs
Nodejs的express使用教程
Nov 23 NodeJs
nodejs搭建本地http服务器教程
Mar 13 NodeJs
nodejs爬虫初试superagent和cheerio
Mar 05 NodeJs
nodejs前端模板引擎swig入门详解
May 15 NodeJs
NodeJs 文件系统操作模块fs使用方法详解
Nov 26 NodeJs
Nodejs处理异常操作示例
Dec 25 NodeJs
nodeJS进程管理器pm2的使用
Jan 09 NodeJs
Nodejs中使用puppeteer控制浏览器中视频播放功能
Aug 26 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
php截取utf-8中文字符串乱码的解决方法
2010/03/29 PHP
php定时计划任务与fsockopen持续进程实例
2014/05/23 PHP
CodeIgniter实现更改view文件夹路径的方法
2014/07/04 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
2016/09/11 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
浅谈PHP封装CURL
2019/03/06 PHP
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
$.getJSON在IE下失效的原因分析及解决方法
2013/06/16 Javascript
JS仿Windows开机启动Loading进度条的方法
2015/02/26 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
jQuery Validation PlugIn的使用方法详解
2015/12/18 Javascript
JavaScript仿支付宝密码输入框
2015/12/29 Javascript
js实现浏览器倒计时跳转页面效果
2016/08/12 Javascript
Bootstrap3 datetimepicker控件使用实例
2016/12/13 Javascript
DWR3 访问WEB元素的两种方法实例详解
2017/01/03 Javascript
快速将Vue项目升级到webpack3的方法步骤
2017/09/14 Javascript
利用nvm管理多个版本的node.js与npm详解
2017/11/02 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
2018/06/05 jQuery
js布局实现单选按钮控件
2020/01/17 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
2020/07/17 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
Python print不能立即打印的解决方式
2020/02/19 Python
HTML5之SVG 2D入门10—滤镜的定义及使用
2013/01/30 HTML / CSS
英国领先的家庭时尚品牌:Peacocks
2018/01/11 全球购物
英国领先的男装设计师服装购物网站:Mainline Menswear
2018/02/04 全球购物
英国最受欢迎的平价女士时装零售商:Roman Originals
2019/11/02 全球购物
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
CSMA/CD介质访问控制协议
2015/11/17 面试题
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
2016年全国爱牙日宣传活动总结
2016/04/05 职场文书
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS
Elasticsearch 批量操作
2022/04/19 Python