开发vue项目时经常碰到文件下载的需求,分两种情况:

一种是:后台给文件路径,前端拼地址去下载文件

另一种是:后台直接返回文件流,前端去处理

第一种很简单这里就不赘述了,直接给出第二种接受文件流并下载的方法:

/**

* 把二进制文件保存到本地

* file 为后台返回的文件流

* 请求接口可能需要设置 responseType: "arraybuffer"

* name: 文件名,需要带后缀

*/

function exportFile (file, name) {

let url = window.URL.createObjectURL(new Blob([file]));

let link = document.createElement('a');

link.style.display = 'none';

link.href = url;

link.setAttribute('download', name);

document.body.appendChild(link);

link.click();

document.body.removeChild(link); // 下载完成移除元素

window.URL.revokeObjectURL(url); // 释放掉blob对象

}

关于 responseType: “arraybuffer”,可能需要加在请求接口上

//以axios为例子:

axios({

method: 'post',

url: '/user/12345',

data: {

firstName: 'Fred',

lastName: 'Flintstone'

},

responseType:'arraybuffer'

});

基本就这些,欢迎补充!没有人事先了解自己到底有多大的力量,直到他试过以后才知道。

vue文件下载:把文件流保存到本地相关推荐

  1. vue中下载文件导出保存到本地

    vue中下载文件导出保存到本地 先分析如何下载:先有一个链接地址,然后使用 location.href或window.open()下载到本地 看看返回数据 res.config.url 中是下载链接地 ...

  2. byte转文件流 下载到本地

    此方法将byte类型文件转为文件流保存到本地 byte 经过BASE64Decoder 进行编码之后的类型 所以需要解码 防止出现乱码及文件损毁 /*** byte 转文件 下载到本地* @param ...

  3. 将RTSP流保存为本地TS文件

    1.功能:将RTSP流保存为本地TS文件 2.存在问题: 保存mp4文件播放不了,还未解决-希望路过的大佬帮忙瞅瞅 _ 3.流程: 0)初始化:并注册所有的解封装器.封装器和协议,初始化网络库: 1) ...

  4. java 服务器 文件写入文件_java 从服务器下载文件并保存到本地

    昨天在做一个项目时,用到了从服务器上下载文件并保存到本地的知识,以前也没有接触过,昨天搞了一天,这个小功能实现了,下面就简单的说一下实现过程: 1.基础知识 当我们想要下载网站上的某个资源时,我们会获 ...

  5. python 保存pdf文件_PyPDF2读取PDF文件内容保存到本地TXT实例

    我就废话不多说了,大家还是直接看代码吧! from PyPDF2.pdf import PdfFileReader import pandas as pd def Pdf_to_txt(pdf): f ...

  6. PyPDF2读取PDF文件内容保存到本地TXT

    利用PyPDF2读取PDF文件内容保存到本地TXT from PyPDF2.pdf import PdfFileReader import pandas as pddef Pdf_to_txt(pdf ...

  7. Vue中 实现文件流格式图片预览

    需求:后端接口返回文档流格式图片,如何在页面中显示显示并预览? 思路: 设置 axios responseType: 'blob':传送门:JavaScript Blob 对象详解 URL.creat ...

  8. vue接收Excel文件流并下载

    VUE接收文件流并转换成Excel表格下载到本地: 一:安装vue自带的插件 npm install --save js-file-download 二:引入js-file-download impo ...

  9. SpringBoot+Vue下载Excel文件流(No converter、Excel乱码)

    目录 介绍 No converter Excel乱码 正确代码 后端代码 前端代码 方法1 方法2 方法3 介绍 后端使用SpringBoot.Mybatis Plus,前端使用Vue,进行Excel ...

最新文章

  1. 数据中心机房供电需求有哪些?存在哪些电能质量问题?
  2. 关于XML文档操作类
  3. python教程:封装、多态、反射
  4. Boost:BOOST_CURRENT_FUNCTION的测试程序
  5. 游客显示的html代码,html5游客总数柱状图代码
  6. cmake构建工具 初步01
  7. (王道408考研操作系统)第三章内存管理-第一节4:连续分配管理方式(单一连续、固定分区和动态分区分配)
  8. php7 验证url格式,url的组成格式为
  9. JAVA 常用开发快捷键大全
  10. (转)知乎:一文读懂比特币私钥、公钥、钱包地址的来历和关系
  11. Alphago zero知识点
  12. 基于微信小程序的网上订餐系统 报告+任务书+开题报告+文献综述+中期PPT+外文翻译及原文+PPT+项目源码及数据库文件
  13. acc 蓝牙_蓝牙耳机≠音质差,只是你没选对耳机
  14. android实现类似在短信图标右上角显示短信个数的效果
  15. 轻松玩转Python:打开文件夹,搜索视频文件,实现简单视频播放器
  16. CBL-Mariner
  17. 继三子棋后,征服扫雷
  18. Petalinux-conifg 错误失败
  19. 执行sh脚本提示“[[: not found”解决方案,bash和sh的区别
  20. 登陆页面总结(bootdo)

热门文章

  1. 笨办法学python__学习笔记
  2. python和javascript哪个好学-python和js哪个难学
  3. 计算机word知识试题及答案,全国计算机等级考试Word试题及答案(2)
  4. LeetCode高频题300. 最长递增子序列
  5. document.referrer之隐藏来源
  6. Ubuntu下docker相关问题 - 持续更新中
  7. AXI(Advanced eXtensible Interface)协议规范
  8. 将项目上传至GitHub
  9. IntelliJ IDEA 2018.3 x64 安装激活教程(全面)
  10. 【实验】实验课总结2 实验一