博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node实现文件下载
阅读量:7041 次
发布时间:2019-06-28

本文共 761 字,大约阅读时间需要 2 分钟。

原理

  • 服务端向客户端游览器发送文件时,如果是浏览器支持的文件类型,一般会默认使用浏览器打开,比如txt、jpg等,会直接在浏览器中显示。1、将response的header设置为浏览器不支持的文件类型'Content-Disposition': 'attachment; filename=',浏览器则不会渲染该内容,而是下载文件。Content-Disposition filename可以指定路径和文件名2、content-type设置为application/octet-stream的话,那就意味着你不想直接显示内容,而是弹出一个文件下载的对话框,文件名为当前接口名

实现【注意自己引入相应模块】

  • 方法一:
let _path = path.resolve(__dirname, 'e-router'+'.js')  let stats=fs.statSync(_path)  if(stats.isFile()){    res.set({      'Content-Type': 'application/octet-stream',      'Content-Disposition': 'attachment; filename=' + 'e-router'+'.js',      'Content-Length': stats.size    });    fs.createReadStream(_path).pipe(res);  }else{    console.log('导出的不是文件!')  }
  • 方法二
res.download(_path,function(err){        if(err){            console.log(err);        }});

转载地址:http://lvhal.baihongyu.com/

你可能感兴趣的文章
c++11 nullptr
查看>>
SpringMVC系列(二): SpringMVC各个注解的使用
查看>>
vs2010如何安装qt插件
查看>>
如何开始做一个架构设计 语音预览 - 小薇
查看>>
Centos7 安装redis服务
查看>>
SQL Server-聚焦ROW_NUMBER VS TOP N性能
查看>>
微信小程序 常见问题 小结
查看>>
少用数字来作为参数标识含义
查看>>
不错位的java .class 反编译工具推荐
查看>>
SQLServer 数据库镜像+复制切换方案
查看>>
平安科技移动开发二队技术周报(第十五期)
查看>>
设计模式-行为型模式,观察者模式(13)
查看>>
Win8 Metro(C#)数字图像处理--2.41彩色图像密度分割算法
查看>>
Intellij IDEA查看所有断点
查看>>
Top K算法
查看>>
CentOs6.7 python2.6升级到2.7.11
查看>>
JavaBridge
查看>>
.NET MVC JSON JavaScriptSerializer 字符串的长度超过 maxJsonLength 值问题的解决
查看>>
statickeyword
查看>>
go语言 rune切片
查看>>