一、

npm install file-saver --save -dev

二、创建exportFile.js文件

import FileSaver from "file-saver";
export default class fileSave {/*** 导出Pdf文件* @param {*} res   文件流* @param {*} name  文件名*/static getPdf(res, name) {let blob = new Blob([res], {type: "application/pdf"});FileSaver.saveAs(blob, name + ".pdf");}/*** 导出Excel文件* @param {*} res   文件流* @param {*} name  文件名*/static getExcel(res, name) {let blob = new Blob([res], {type: "application/vnd.ms-excel"});FileSaver.saveAs(blob, name + ".xls");}/*** 导出CSV文件* @param {*} res   文件流* @param {*} name  文件名*/static getCsv(res, name) {let blob = new Blob([res], {type: "application/vnd.ms-excel"});FileSaver.saveAs(blob, name + ".csv");}/*** 导出图片1* @param {*} url 图片地址* @param {*} name  文件名*/static getImgURLs(url, name) {let last = url.substring(url.lastIndexOf("."), url.length);FileSaver.saveAs(url, `${name}${last}`);}/*** 导出图片2* @param {*} res 文件流* @param {*} name  文件名*/static downLoadImg(res, filename) {let blob = new Blob([res], {type: "image/jpeg"});FileSaver.saveAs(blob, `${filename}.jpg`);}
}

三、使用

1、获取下载文件名

Vue.prototype.$getDownloadName = function (res) {let cod = res.headers["content-disposition"];let cpos = cod.indexOf("=");let exportName = cod.substring(cpos + 1, cod.length)return decodeURIComponent(exportName)
}

2、接口

export function downLoad(params) {return request({url: urlPrefix + '/downLoad',method: 'get',responseType: 'blob',params,paramsSerializer: params => {return qs.stringify(params, { indices: false })},})
}

3、接口调用

import exportFile from '@/utils/exportFile'async onDownLoad() {const [err, res] = await to(API.downLoad(params))exportFile.getPdf(res.data, this.$getDownloadName(res))
}

file-saver 实现文件下载相关推荐

  1. windows安装 Git Large File Storage大文件下载工具ge

    下载地址 导航到 git-lfs.github.com 并单击Download开始下载 git-lfs的用法指南 验证安装成功 打开Git Bash 验证安装成功,使用命令 git lfs insta ...

  2. Spring Boot入门(11)实现文件下载功能

      在这篇博客中,我们将展示如何在Spring Boot中实现文件的下载功能.   还是遵循笔者写博客的一贯风格,简单又不失详细,实用又能让你学会.   本次建立的Spring Boot项目的主要功能 ...

  3. java 跨域 下载文件_文件下载重命名(可跨域)

    一.正常情况下,我们都如此下载文件并修改文件名,在a标签上面添加download属性 var link = document.createElement('a'); link.href = file. ...

  4. Java Web文件下载

    Web文件下载有两种.一种是文件在站点文件夹下.在浏览器中直接输入文件路径就可以下载.如http://www.xxx.com/file.zip.第二种是文件不在站点文件夹下或者文件是动态生成的(导出报 ...

  5. Web端程序实现文件下载

    作者:死神的丧钟 字体:[增加 减小] 类型:转载 时间:2016-05-25 我要评论 这篇文章主要介绍了Java Web端程序实现文件下载的方法分享,包括一个包含防盗链功能的专门针对图片下载的程序 ...

  6. 文件下载重命名(跨域)

    一.正常情况下,我们都如此下载文件并修改文件名,在a标签上面添加download属性 var link = document.createElement('a'); link.href = file. ...

  7. java将excel文件下载到本地

    1.代码如下,可直接复制 注:workbook 格式必须是HSSFWorkbook类型的,文件名后缀是 .xls,不然会报错. //测试excel文件是否导入成功,将导入的excel文件下载到本地St ...

  8. Java文件下载工具类

    各种文件下载 /** 文件下载工具类 */public void downloadFile(HttpServletResponse response,String url)throws Unsuppo ...

  9. 大文件下载断点续传后台功能,模仿百度网盘下载功能

    最近项目遇到断点续传下载大文件的需求,网上百度了一下,找到了解决方式,感谢大帝的无私奉献. 为了将网盘下载的效果模仿的更真实,特将原作者的代码完善,本着为小白省下完善代码的时间考虑,写了这篇文章. 原 ...

  10. Code Project精彩系列(转)

    Applications Crafting a C# forms Editor From scratch http://www.codeproject.com/csharp/SharpFormEdit ...

最新文章

  1. 皮克斯首款VR体验《寻梦环游记》登陆 Oculus Rift
  2. linux中yum进程占cpu百分之九十,在Deepin Linux系统中kworker进程占用CPU达到100%的解决...
  3. 网络营销专员浅析现阶段下的几种网络营销推广方式
  4. stm32链接电脑提示无法识别的驱动设备
  5. C语言的实现经过(C代码到CPU执行)
  6. java ssh客户端_简单的Java SSH客户端
  7. Ubuntu 16.04 解压rar问题解决方案
  8. git 小乌龟 TortoiseGit 记住账号密码
  9. Java程序员从笨鸟到菜鸟之(九十四)深入java虚拟机(三)——类的生命周期(下)类的初始化...
  10. 素质的冰山模型,成就动机 笔记
  11. You may need an appropriate loader to handle this file type, currently no loaders are configured to
  12. 【OpenGL】室内3D弹球
  13. td设置虚线dotted框,在chrome下有时会出现实线bug
  14. linux挂载ntfs硬盘6,CentOS 6.2 挂载 NTFS格式的硬盘
  15. html5清新文艺,清新文艺句子
  16. 如何在Android上玩经典复古游戏
  17. multisim变压器反馈式_通过Multisim 7仿真软件对负反馈放大电路的原理、参数及性能进行分析...
  18. 金山卫士开源软件之旅(十) KSafeMainproject的分析 1
  19. Java 学习笔记 Day005 (补day5 的练习题)
  20. 黄油相机如何为视频添加贴纸 黄油相机为视频新增贴纸方法

热门文章

  1. Xshell- Xftp评估过期处理方法
  2. 用计算机连接路由器,怎样连接路由器和电脑_电脑怎么链接路由器-系统城
  3. O3DF执行董事Royal O’Brien:开源没有边界,所有共享的声音都会变成实际方向
  4. WannaCry 勒索软件
  5. 表格识别综述与相关实战
  6. 2016年中南大学校赛镜像赛
  7. 计算机专业纸质笔记本,无可替代?信息时代你还用纸质笔记本吗
  8. ADS(ambient, diffuse, specular)着色计算
  9. 应用之星:在线手机应用开发平台 不用搭建环境
  10. 提交代码遇到的问题remote: Support for password authentication was removed on August 13, 2021.