基于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实现黑名单中间件设计
Jun 17 NodeJs
Nodejs为什么选择javascript为载体语言
Jan 13 NodeJs
nodejs事件的监听与触发的理解分析
Feb 12 NodeJs
Windows系统中安装nodejs图文教程
Feb 28 NodeJs
nodejs中实现阻塞实例
Mar 24 NodeJs
在windows上用nodejs搭建静态文件服务器的简单方法
Aug 11 NodeJs
nodejs动态创建二维码的方法
Aug 12 NodeJs
NodeJs form-data格式传输文件的方法
Dec 13 NodeJs
nodejs简单实现TCP服务器端和客户端的聊天功能示例
Jan 04 NodeJs
基于nodejs res.end和res.send的区别
May 14 NodeJs
nodejs aes 加解密实例
Oct 10 NodeJs
Nodejs中获取当前函数被调用的行数及文件名详解
Dec 12 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
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
php 数据结构之链表队列
2017/10/17 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
php5.6.x到php7.0.x特性小结
2019/08/17 PHP
JavaScript函数、方法、对象代码
2008/10/29 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
2014/09/25 Javascript
JQuery显示、隐藏div的几种方法简明总结
2015/04/16 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
jQuery使用zTree插件实现树形菜单和异步加载
2016/02/25 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
div中文字内容溢出常见的解决方法
2017/03/16 Javascript
React组件之间的通信的实例代码
2017/06/27 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
在iFrame子页面里实现模态框的方法
2018/08/17 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
JS造成内存泄漏的几种情况实例分析
2020/03/02 Javascript
[53:43]VP vs NewBee Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
python实现字符串加密成纯数字
2019/03/19 Python
django ORM之values和annotate使用详解
2020/05/19 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
Java面试中常遇到的问题,也是需要注意的几点
2013/08/30 面试题
出纳员岗位职责
2014/03/13 职场文书
党在我心中演讲稿
2014/09/02 职场文书
2015年幼儿园元旦亲子活动方案
2014/12/09 职场文书
中秋节主题班会
2015/08/14 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python
springboot临时文件存储目录配置方式
2021/07/01 Java/Android