基于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的子进程(child_process)调用系统命令的方法分享
Jun 05 NodeJs
使用upstart把nodejs应用封装为系统服务实例
Jun 01 NodeJs
NodeJs的优势和适合开发的程序
Aug 14 NodeJs
NodeJS远程代码执行
Aug 28 NodeJs
Nodejs中解决cluster模块的多进程如何共享数据问题
Nov 10 NodeJs
详解nodejs微信公众号开发——4.自动回复各种消息
Apr 11 NodeJs
使用nodejs爬取前程无忧前端技能排行
May 06 NodeJs
详解nodejs异步I/O和事件循环
Jun 07 NodeJs
nodejs开发微信小程序实现密码加密
Jul 11 NodeJs
windows系统下更新nodejs版本的方案
Nov 24 NodeJs
nodeJS服务器的创建和重新启动的实现方法
May 12 NodeJs
nodejs微信开发之授权登录+获取用户信息
Mar 17 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
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
编译php 5.2.14+fpm+memcached(具体操作详解)
2013/06/18 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
jQuery的Ajax的自动完成功能控件简要说明
2013/02/22 Javascript
javascript实现简单的Map示例介绍
2013/12/23 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
js动态生成Html元素实现Post操作(createElement)
2015/09/14 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
AngularJS自动表单验证
2016/02/01 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
对js中回调函数的一些看法
2016/08/29 Javascript
canvas时钟效果
2017/02/16 Javascript
jQuery实现点击关注和取消功能
2017/07/03 jQuery
vue2.0+vue-router构建一个简单的列表页的示例代码
2019/02/13 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
python处理cookie详解
2014/02/07 Python
Python多进程并发(multiprocessing)用法实例详解
2015/06/02 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
让Python更加充分的使用Sqlite3
2017/12/11 Python
python将字典内容存入mysql实例代码
2018/01/18 Python
详解用python写网络爬虫-爬取新浪微博评论
2019/05/10 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
使用python-pptx包批量修改ppt格式的实现
2020/02/14 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
司机的工作范围及职责
2013/11/13 职场文书
秋季运动会活动方案
2014/02/05 职场文书
3.15国际消费者权益日主题活动活动总结
2014/03/16 职场文书
企业安全生产目标责任书
2014/07/23 职场文书
2014年企业党支部工作总结
2014/12/04 职场文书
2019最新劳动仲裁申请书!
2019/07/08 职场文书
详解CSS开发过程中的20个快速提升技巧
2021/05/21 HTML / CSS