vue3 get请求的文件流下载

用的是fetch的方法

、使用fetch下载

downFile() {
    fetch('http://10.190.156.103:3000/api/deviceList/downLoadExcel', {
        method: 'GET',
        headers: new Headers({
            'Authorization': Cookie.get('Authorization') 
        }),
    })
   .then(res => res.blob())
   .then(data => {
        const blobUrl = window.URL.createObjectURL(data);
        const a = document.createElement('a');
        a.download = this.fileName+'.xlsx';
        a.href = blobUrl;
        a.click();
	});
},

                        
原文链接:https://blog.csdn.net/Khun_HWJ/article/details/118331324

以下为自己项目的运用

function handleExport(){
  fetch('/dev-api/system/bill/export?tenantId='+query.tenantId, {
    method: 'GET',
    headers: new Headers({
      'Authorization': 'Bearer ' + getToken()
    }),
  })
      .then(res => res.blob())
      .then(data => {
        const blobUrl = window.URL.createObjectURL(data);
        const a = document.createElement('a');
        a.download = '明细账单'+'.xlsx';
        a.href = blobUrl;
        a.click();
      })
  
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3是一种用于构建用户界面的JavaScript框架,文件下载功能通常在Web开中用于实现文件下载的功能。在Vue3中,我们可以通过使用`axios`库来送HTTP请求,并处理文件下载。以下是实现Vue3文件下载功能的基本步骤: 1. 首先,我们需要安装`axios`库。可以使用以下命令进行安装: ``` npm install axios ``` 2. 在需要使用文件下载功能的Vue组件中,我们需要引入`axios`库: ```javascript import axios from 'axios'; ``` 3. 接下来,我们可以创建一个方法来处理文件下载请求。例如,我们可以创建一个名为`downloadFile`的方法: ```javascript methods: { downloadFile() { axios({ url: 'http://example.com/download', method: 'GET', responseType: 'blob', // 指定响应的数据类型为二进制 }) .then((response) => { const url = window.URL.createObjectURL(new Blob([response.data])); const link = document.createElement('a'); link.href = url; link.setAttribute('download', 'filename.ext'); // 指定下载文件名 document.body.appendChild(link); link.click(); }) .catch((error) => { console.error(error); }); } } ``` 4. 最后,在Vue组件的模板中,我们可以使用一个按钮或其他元素来触文件下载操作。例如,我们可以在模板中添加一个按钮: ```html <button @click="downloadFile">下载文件</button> ``` 以上就是使用Vue3实现文件下载功能的基本步骤。通过使用`axios`库送HTTP请求,我们可以获取到文件的二进制数据,并通过创建临时URL来实现文件下载。在下载时,我们可以为文件指定名称以及自定义其他下载选项,以满足具体需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值