需要下载以下几个包
axios

npm i axios --save

JSZip(压缩)

npm install jszip --save

file-saver(导出文件)

npm install file-saver --save

直接写代码了,都有解释,欢迎留言讨论

import axios from 'axios'
import JSZip from 'jszip'
import FileSaver from 'file-saver'// 当下载的文件为文件流时,使用在h5小程序中,不使用uni接口
export function downFile(value) {// 需要接收流文件的接口// 这里的value是一个对象,主要包括url,params,和其他需要传递给后台的参数axios({...value,method: 'get',responseType: 'blob',}).then((res) => {const fileUrl = new Blob([res.data]) // 将返回的数据流手动构建成blob流const reader = new FileReader()reader.readAsDataURL(fileUrl) //转换为64位,可以直接放入a标签reader.onload = (e) => {const a = document.createElement('a')if (typeof e.target.result === 'string') {a.download = 'test' + '.pdf' // 这里以接收pdf文件为例a.href = e.target.result}a.click()document.body.removeChild(a)}})
}// 下载文件压缩包
export function downZip(value) {const zip = new JSZip() //创建一个压缩文件// 这里的value是一个对象,主要包括url,params,和其他需要传递给后台的参数axios({...value,method: 'get',responseType: 'blob',}).then((res) => {zip.file('test.pdf', res.data, { binary: true }) // 将文件打包到文件夹中,如果此处有多个文件,可以使用for循环将文件都加载在文件夹中,这里以pdf文件为例}).then(() => {zip.generateAsync({ type: 'blob' }).then((content) => {//打包到文件中压缩FileSaver.saveAs(content, '签到表.zip') // 利用file-saver保存文件  自定义文件名})})
}

h5 uniapp实现文件流,链接的下载,或者打包成压缩文件相关推荐

  1. Android中将指定文件夹打包成压缩文件

    Android中将指定文件夹打包成压缩文件 因为业务功能的需要,所以今天在网上找了一下安卓中生成压缩文件的代码,搜到的不同文章基本都是用的同一段代码,当我使用这段代码时候发现,它在生成压缩文件的时候并 ...

  2. SpringBoot中将图片和Excel表格打包成压缩文件供前端下载

    一.需求: 今天碰到了一个需求,就是将COS对象存储的图片和后端的数据库查询出来的用户的信息的excel表格一起打包成一个压缩包提供给前端下载. 二.分析: 作者的思路是这样的: 从COS的存储地址拿 ...

  3. react——利用jszip实现文件批量下载并打包成zip文件

    本文章主要记录利用jszip实现文件批量下载图片,文档.mp3,视频(MP4)等文件,一般而言前端实现下载功能一般都是通过a链,这在下载单个文件的场景很实用,但如果是批量下载很多个文件,同样也可以用a ...

  4. npm打包 打包顺带打包成压缩文件

    在packjson 中引入 "filemanager-webpack-plugin": "2.0.5", 修改 webpack.base.conf.js 文件 ...

  5. java浏览器预览文件_JAVA读取文件流,设置浏览器下载或直接预览操作

    最近项目需要在浏览器中通过URL预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的Header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...

  6. java 看书浏览器官_JAVA读取文件流,设置浏览器下载或直接预览操作

    最近项目需要在浏览器中通过url预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...

  7. java 读取浏览器_JAVA读取文件流,设置浏览器下载或直接预览操作

    最近项目需要在浏览器中通过URL预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的Header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...

  8. java用浏览器下载文件_JAVA读取文件流,设置浏览器下载或直接预览操作

    最近项目需要在浏览器中通过url预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...

  9. JAVA 实现返回PDF文件流并进行下载

    JAVA 实现返回PDF文件流并进行下载 首先确保本地存放pdf 保证通过路径可以拿到文件 我这边把pdf放在e盘下的目录 1.前台方法 原生ajax 发送请求返回文件流进行下载 function d ...

最新文章

  1. 惊呆了!两人发现抵用券漏洞,疯狂“薅羊毛”获利 770 余万
  2. 如何分析案件的性质_律师如何综合分析一个案件
  3. IntelliJ IDEA创建maven web项目
  4. 骁龙845_骁龙845为什么这么快就不受欢迎了?手机更新节奏有多快
  5. C语言从未排序的链接列表中删除重复项的算法(附完整源码)
  6. .NET Core WebApi中实现多态数据绑定
  7. Codeforces Round #655 (Div. 2) E. Omkar and Last Floor 区间dp + 巧妙的状态设计
  8. Guava的介绍与使用示例
  9. JAVA提取字符串信息中的数字(包括整数,小数)工具类
  10. 经典同步时序逻辑电路分析汇总(第八道)(同步三进制计数器)
  11. mysql优化面试整理-吊打面试官
  12. 阿里云的这群疯子- 文/史中
  13. 在office2016中,安装mathtype6.9后出现的dll文件缺失问题
  14. 千里马若有人赏识--不论对错,不为输赢,我就是认真。
  15. R-ggplot2 标准中国地图制作
  16. Java获取unix时间戳
  17. 循环神经网络:LSTM
  18. (转)为了快 0.00007 秒,有家交易公司花 1400 万美元买了块地
  19. 指定ip地址和端口号登录mysql数据库_防火墙规则,指定ip访问mysql数据库3306端口...
  20. MAC ARM 虚拟机 安装visual studio 2019

热门文章

  1. John Z. Sonmez(约翰 Z.森梅兹【美】)之《软技能:代码外的生存指南》
  2. Java图片水印生成器代码 - 批量给自己的网站图片加水印
  3. jenkins结合126邮箱提醒
  4. (计算机)末流211上岸国科大杭高院经验帖---考研的选择和努力同样重要
  5. linux登陆ftp报错425,linux下命令行连接FTP是遇到的错误(425 Failed to establish connection)...
  6. 才在计算机存的东西搜索不到,解决电脑搜索不到文件的方法(很有效)
  7. 软件测试集群,集群搭建完成简要测试集群(性能)带宽与IOPS
  8. QQ空间 免费代码大全
  9. html和css制作圣诞树
  10. php mysql注册中文名_PHP用户注册实现用户名为 中文 如何实现?