基于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 相关文章推荐
Google官方支持的NodeJS访问API,提供后台登录授权
Jul 29 NodeJs
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
Sep 26 NodeJs
NodeJS制作爬虫全过程(续)
Dec 22 NodeJs
nodeJs内存泄漏问题详解
Sep 05 NodeJs
Nodejs进阶:核心模块net入门学习与实例讲解
Nov 21 NodeJs
nodejs连接mongodb数据库实现增删改查
Dec 01 NodeJs
nodejs入门教程一:概念与用法简介
Apr 24 NodeJs
nodejs中sleep功能实现暂停几秒的方法
Jul 12 NodeJs
nodejs 图解express+supervisor+ejs的用法(推荐)
Sep 08 NodeJs
nodejs使用express获取get和post传值及session验证的方法
Nov 09 NodeJs
NodeJS父进程与子进程资源共享原理与实现方法
Mar 16 NodeJs
nodejs的路径问题的解决
Jun 30 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
自己动手,丰衣足食 - 短波框形天线制作
2021/03/01 无线电
索尼SONY SRF-S83/84电路分析和打磨
2021/03/02 无线电
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
2014/07/05 PHP
PHP异常处理Exception类
2015/12/11 PHP
万能的php分页类
2017/07/06 PHP
PHP分享图片的生成方法
2018/04/25 PHP
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
为jQuery.Treeview添加右键菜单的实现代码
2010/10/22 Javascript
javascript禁用Tab键脚本实例
2013/11/22 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
[11:27]《一刀刀一天》之DOTA全时刻20:TI4总奖金突破920W TS赛事分析
2014/06/18 DOTA
Python Web框架Flask中使用新浪SAE云存储实例
2015/02/08 Python
python使用datetime模块计算各种时间间隔的方法
2015/03/24 Python
构建Python包的五个简单准则简介
2015/06/15 Python
Python过滤txt文件内重复内容的方法
2018/10/21 Python
使用Python 正则匹配两个特定字符之间的字符方法
2018/12/24 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
一个可以套路别人的python小程序实例代码
2019/04/09 Python
django rest framework vue 实现用户登录详解
2019/07/29 Python
python 字典的打印实现
2019/09/26 Python
Python random模块制作简易的四位数验证码
2020/02/01 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
PyTorch安装与基本使用详解
2020/08/31 Python
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
酒店营销策划方案
2014/02/07 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
房屋租赁合同协议书范本
2014/10/19 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
详解盒子端CSS动画性能提升
2021/05/24 HTML / CSS