【vue】前端下载文件自定义文件名称

文件下载名称不想和后端提供的URL一样怎么办呢?

1.首先给按钮去绑定一个事件

按钮的处理

 <div  class="list-item-download"
    @click="downLoadArticle(item.url , item.title)
 </div>

2.正常我们的下载处理方式

1.直接通过后端返回的url,给location.href就可以下载了,但是文件名字,就是后端返回的 ,不可以自定义

window.location.href = url

3.自定义下载的文件名字

 onDownFile(url, filename) {
      this.getBlob(url, (blob) => {
        this.saveAs(blob, filename)
      })
},

getBlob(url, cb) {
      var xhr = new XMLHttpRequest()
      xhr.open('GET', url, true)
      xhr.responseType = 'blob'
      xhr.onload = function() {
        if (xhr.status === 200) {
          cb(xhr.response)
        }
      }
      xhr.send()
},

 saveAs(blob, filename) {
      if (window.navigator.msSaveOrOpenBlob) {
        navigator.msSaveBlob(blob, filename)
      }
      else {
        var link = document.createElement('a')
        var body = document.querySelector('body')

        link.href = window.URL.createObjectURL(blob)
        link.download = filename

        link.style.display = 'none'
        body.appendChild(link)

        link.click()
        body.removeChild(link)
        window.URL.revokeObjectURL(link.href)
      }
},
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Vue2中导出Excel并自定义文件名称,你可以使用一个名为tableToExcel的函数来实现。该函数接受三个参数:table(表格模板符串),name(文件名),callback(回调方法)。你可以在项目中创建一个exportExcel.js文件,并在其中定义和导出这个函数。然后,在需要导出Excel的地方,引入这个方法并调用它,传入相应的参数即可实现导出。 具体步骤如下: 1. 在项目中创建一个exportExcel.js文件,并在其中定义一个名为tableToExcel的函数。函数接受三个参数:table、name和callback。 2. 在函数内部的实现中,你可以使用第三方库或自己编写的逻辑来将table转换为Excel文件,并自定义文件的名称。具体的转换逻辑可以根据你使用的库或自己编写的代码来实现。 3. 在函数的最后,你可以调用callback函数来完成一些回调操作,例如提示用户导出成功或执行其他逻辑。 通过这种方式,你可以在Vue2中导出Excel并自定义文件名称。这个方法不仅适用于Vue框架,你也可以在其他前端框架(如Jquery、React等)中使用,只需要将封装好的方法引入即可。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vue3.0导出数据为自定义样式Excel](https://blog.csdn.net/qq_24800489/article/details/129439510)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不停喝水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值