我的编程空间,编程开发者的网络收藏夹
学习永远不晚

VUE+ElementUI下载文件的几种方式(小结)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

VUE+ElementUI下载文件的几种方式(小结)

1.创建超链接,通过a标签的链接向后端服务发get请求,接收后端的文件流

<a :href='"/user/downloadExcel"' >下载模板</a>

2.创建iframe的方式

<el-button size="mini" type="text" icon="el-icon-download" @click="handleDownload(scope.row)">下载</el-button>
    
    handleDownload(row) {
      this.loadingOverLay = this.$loading({
        lock: true,
        text: "文件生成中",
        spinner: "el-icon-loading",
        background: "rgba(0,0,0,0.7)",
      });
      var elemIF = document.createElement("iframe");
      elemIF.class="lazy" data-src = process.env.VUE_APP_BASE_API + "/transcode/download/" + row.id;
      elemIF.style.display = "none";
      document.body.appendChild(elemIF);
      this.loadingOverLay.close();
    },

3.对后端发的post请求,使用blob格式

<el-button  size="mini" class="filter-item" type="primary" icon="el-icon-download" @click="handleExport(scope.row)">导出</el-button>
//method方法
handleExport(row){
const url="/user/downloadExcel"
const options = {snapshotTime:formatDate(new Date(row.snapshotTime), 'yyyy-MM-dd hh:mm')}
exportExcel(url,options)
}

//api.js
export function exportExcel(url, options = {}) {
  return new Promise((resolve, reject) => {
    console.log(`${url} 请求数据,参数=>`, JSON.stringify(options))
    axios.defaults.headers['content-type'] = 'application/json;charset=UTF-8'
    axios({
      method: 'post',
      url: url, // 请求地址
      data: options, // 参数
      responseType: 'blob' // 表明返回服务器返回的数据类型
    }).then(
      response => {
        resolve(response.data)
        let blob = new Blob([response.data], {
          type: 'application/vnd.ms-excel'
        })
        console.log(blob)
        let fileName = Date.parse(new Date()) + '.xlsx'
        if (window.navigator.msSaveOrOpenBlob) {
          // console.log(2)
          navigator.msSaveBlob(blob, fileName)
        } else {
          // console.log(3)
          var link = document.createElement('a')
          link.href = window.URL.createObjectURL(blob)
          link.download = fileName
          link.click()
          //释放内存
          window.URL.revokeObjectURL(link.href)
        }
      },
      err => {
        reject(err)
      }
    )
  })
}

4.导出json文件

1.安装:

npm install file-saver --save

2.引入:

import FileSaver from 'file-saver'

const blob = new Blob([JSON.stringify(data, null, 2)], {type: 'application/json'})
 

FileSaver.saveAs(blob, '文件名.json')

到此这篇关于VUE+ElementUI下载文件的几种方式(小结)的文章就介绍到这了,更多相关VUE ElementUI下载文件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

VUE+ElementUI下载文件的几种方式(小结)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

VUE+ElementUI下载文件的几种方式(小结)

本文主要介绍了VUE+ElementUI下载文件的几种方式(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-01-13

vue关于下载文件常用的几种方式

这篇文章主要介绍了vue关于下载文件常用的几种方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

前端vue中实现文件下载的几种方法总结

这篇文章主要介绍了前端vue中实现文件下载的几种方法总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-15

浅谈vue中文件下载的几种方式及方法封装

本文主要介绍了浅谈vue中文件下载的几种方式及方法封装,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-01-13

Java下载文件的4种方式总结

1. 使用URL类的openStream()方法:这是最基本的下载文件的方式。通过URL.openStream()方法,可以获取到文件的输入流,然后使用输入流的read()方法来读取文件内容,并将其写入到本地文件中。2. 使用URLConn
2023-08-09

Vue显示图片的几种方式小结

本文主要介绍了Vue显示图片的几种方式小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-02-05

Vue中常见的几种传参方式小结

Vue组件的使用不管是在平常工作还是在面试面试中,都是频繁出现的,下面这篇文章主要给大家介绍了关于Vue中常见的几种传参方式的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-05-19

vue父子组件之间的传参的几种方式小结

本文主要介绍了vue父子组件之间的传参的几种方式小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-18

python下载文件的几种常用方法

python中下载文件常用的几个模块有urllib,urllib2,requests,方法也很简单,代码如下:# Python 2 codeimport urllibimport urllib2import requests        
2023-01-31

uniapp实现下拉刷新的几种方式小结

原生的uniapp的下拉刷新是一个普通的加载框,样式真的很单一,下面这篇文章主要总结介绍了uniapp实现下拉刷新的几种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-02-16

Python下载安装的几种方式

个人博客开通了,地址:https://elfgirl.top 欢迎访问####前言:这篇博客的主要内容是记录一下Python语言的下载安装方式;说明:本人的操作系统是win10 64位;我要下载64位python。####下载步骤:1、打开
2023-01-31

java实现文件下载的两种方式

本文实例为大家分享了java实现文件下载的具体代码,供大家参考,具体内容如下public HttpServletResponse download(String path, HttpServletResponse response) {
2023-05-30

编程热搜

目录