前端Blob文件导出

2023-11-08


前言

通过把blob转file对象的方法下载文件

一、Blob是什么?

Blob 对象表示一个不可变、原始数据的类文件对象。Blob 表示的不一定是JavaScript原生格式的数据。File 接口基于Blob,继承了 Blob 的功能并将其扩展使其支持用户系统上的文件。

二、axios 拦截器中做统一处理

request.interceptors.response.use((response) => {
  return new Promise((resolve, reject) => {
    if (response.config.responseType === 'blob') {
      const fileReader = new FileReader()
      fileReader.readAsDataURL(response.data)
      fileReader.onload = (event) => {
        const fileName = response.headers['content-disposition'].split('filename=')[1].split(';')[0]
        return resolve({ fileUrl: event.target.result, fileName: fileName ? decodeURIComponent(fileName) : '', blob: response.data })
      }
    }
  }
}

三、页面全局封装下载组建

import Vue from 'vue'
import request from '@/utils/request'
// 全局混入
Vue.mixin({
  data () {
    return {
    }
  },
  methods: {
    // 全局下载
    exportFile (url, params) {
      this.$message.info('请稍等,正在导出...')
      return request({
        url: url,
        method: 'get',
        params: params,
        responseType: 'blob'
      }).then(res => {
        const a = document.createElement('a')
        a.download = res.fileName
        a.href = res.fileUrl
        document.body.appendChild(a)
        a.click()
        document.body.removeChild(a)
      })
    }
  }
})


总结

持续完善其他导出方法…

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端Blob文件导出 的相关文章

随机推荐

  • Matlab之行列向量的赋值

    在别人的matlab代码中看到 将列向量赋值给行向量 最初还以为是别人的代码有bug 实际上运行后才发现是由自己的无知造成的 因此 将如下一小段测试的代码贴出来 向量的维度由左值 被赋值的变量 决定 column 1 2 3 row 0 0
  • python程序设计报告-20191206 实验二《Python程序设计》实验报告

    学号 2019 2020 2 Python程序设计 实验二报告 课程 Python程序设计 班级 1912 姓名 陈发强 学号 20191206 实验教师 王志强 实验日期 2020年4月19日 必修 选修 公选课 1 实验内容 设计并完成
  • 7-7 12-24小时制 (15 分)

    编写一个程序 要求用户输入24小时制的时间 然后显示12小时制的时间 输入格式 输入在一行中给出带有中间的 符号 半角的冒号 的24小时制的时间 如12 34表示12点34分 当小时或分钟数小于10时 均没有前导的零 如5 6表示5点零6分
  • 雷达系统与信号处理概述(一)

    第一章 雷达系统与信号处理概述 一 目录 第一章 雷达系统与信号处理概述 一 1 1 雷达的基本功能 1 2 检测 跟踪 成像概述 1 3 检测概率和虚警概率 1 3 1检测概率 1 3 2虚警概率 1 4 雷达分辨率 1 4 1 雷达距离
  • 静态对象、全局对象与程序的运行机制

    静态对象 全局对象与程序的运行机制 1 在介绍静态对象 全局对象与程序的运行机制之间的关系之前 我们首先看一下atexit函数 atexit函数的声明为 int atexit void cdecl func void 参数为函数指针 返回值
  • vue面试题+答案,2021前端面试

    vue面试题 答案 2022前端面试 前端进阶面试题详细解答 MVC 和 MVVM 区别 MVC MVC 全名是 Model View Controller 是模型 model 视图 view 控制器 controller 的缩写 一种软件
  • 深度学习课程设计——波士顿房价预测

    基于密集连接神经网络的波士顿房价预测 摘 要 神经网络是从信息处理角度对人脑神经元网络进行抽象 建立某种模型 按不同的连接方式组成不同的网络 本文以波士顿房价这一经典数据集为基础 该数据集包含了住宅用地所占比例等13个特征 由于keras
  • rabbitmq基础9——流控、镜像队列、网络分区

    文章目录 一 流控 1 1 流控机制 1 2 流控原理 1 3 流控状态显示 1 4 流控对象 1 5 性能提升 二 镜像队列 2 1 机制原理 2 1 1 集群结构 2 2 镜像结构 2 2 1 组播GM 2 2 1 1 实现原理 2 2
  • 1067 Sort with Swap(0, i) (25 分)

    题目 题目链接 题解 思维 DFS 比较难想的是问题转化的思路 规定a i 表示索引为i处的初始数为a i 我们引入边 由i指向a i 由a i 指向i也可以 将所有n个边都连上后 可能存在若干个环 也可能自己指向了自己 自环 我们思考几种
  • 基于规则的错别字改错

    利用ahocorasick库调用AC自动机寻找已经定义的错别字 不进行分词 并输出错别字开始位置和结束位置 并且在原文中进行改正 import ahocorasick def correct typos text typos 构建 AC 自
  • 字符串排序(函数,指针)(C语言实现)

    编写程序 用户输入n个 n lt 100 字符串 每个字符串长度小于100 按照字典顺序将字符串进行排序 并输出 要求在排序中使用指针数组完成 输入说明 输入第一行是一个整数数字 表示n 接下来有n行字符串 表示待排序字符串 输出说明 输出
  • 虚拟现实期末考试

    考点 考试分比 考试题型单项选择题40 名词解释题10 简答题20 程序设计题8 综合题12 材料分析题10 等 选择题 名词解释 VR 虚拟现实技术 英文名称 Virtual Reality 缩写为VR 是20世纪发展起来的一项全新的实用
  • linux sudo su - 免密配置

    添加用户 sudo useradd d home awen m s bin bash awen 添加用户切换root免密配置 echo awen ALL ALL NOPASSWD ALL gt gt etc sudoers d 90 clo
  • 如何更改电脑开机密码

    以我的电脑为例 是Windows 10系统的笔记本电脑 想要重新设置开机密码 相信大家都有想重新设置密码的冲动 网上也有对应的教程 但是很多人都有一个疑问 为什么根据教程来修改却没有成功 或者是重新登录电脑发现密码根本没有变化 其实不然 这
  • 技术进化对风险隔离与屏蔽超过民众想象

    刷脸支付公众在收获着消费便捷快感的同时 更多地则对刷脸支付的安全性与风险性提出了质疑 与指纹 虹膜等相比 人脸具有弱隐私性的生物特征 而且正是由于手机这一介质的缺失 人脸信息的克隆与利用也会变得 更加容易 相应地 用户使用刷脸支付的风险也就
  • Linux系统卡在iscsi服务导致无法正常开机

    现象 存储网络断开了 机器再开机时卡在开机logo去挂载iscsi 导致没法正常开机 解决办法 1 进救援模式或者单用户模式 将iscsid服务开机自启关了并禁用 关闭自启可能还是存在会被唤醒的情况 systemctl disable is
  • Maven项目的两种打包方式-spring-boot-mavne-plugin/maven-jar-plugin

    Maven项目的两种打包方式 spring boot mavne plugin maven jar plugin 1 前言 Maven的两种打包方式 2 流程图 3 spring boor maven plugin打包 4 maven ja
  • Java架构师的10个学习经验分享,初学者必看

    从零基础学习Java 只要方法正确 依然可以学好Java编程 学习Java就像交朋友一样 要从陌生到熟悉再到铁杆搭档一生相伴的过程 随着深入的了解 你不但会发现学Java并不是和想象的那样无聊和困难 而且还有一些美妙之感 当然在拥有强大的技
  • SecureCRT8.5的下载、安装、注册、连接

    https blog csdn net qq 37233070 article details 120683434
  • 前端Blob文件导出

    前端Blob文件导出 前言 一 Blob是什么 二 axios 拦截器中做统一处理 三 页面全局封装下载组建 总结 前言 通过把blob转file对象的方法下载文件 一 Blob是什么 Blob 对象表示一个不可变 原始数据的类文件对象 B