当前位置: 首页 > article >正文

vue通过url下载文件并重命名

URL文件地址下载方法

本文所讲的下载地址格式为:地址+文件名(例如:http...+ 'test.docx')

方法一:创建a标签

 const a = document.createElement('a');
      a.href = this.fileUrl;
      a.download = this.fileName;
      a.style.display = 'none';
      document.body.appendChild(a);
      a.click();
      document.body.removeChild(a);

方法二:通过blob实现跨域下载并修改文件名(同样适用于URL地址)

//文件下载
downFile() {
      let fileUrl = url  //服务器文件地址
      this.getBlob(fileUrl).then(blob => {
        this.saveAs(blob, '自定义名称.doc')
      })
    },

//通过文件下载url拿到对应的blob对象
    getBlob(url) {
      return new Promise(resolve => {
        const xhr = new XMLHttpRequest()
        xhr.open('GET', url, true)
        xhr.responseType = 'blob'
        xhr.onload = () => {
          if (xhr.status === 200) {
            resolve(xhr.response)
          }
        }

        xhr.send()
      })
    },
    //下载文件
    saveAs(blob, filename) {
      var link = document.createElement('a')
      link.href = window.URL.createObjectURL(blob)
      link.download = filename
      link.click()
    },


http://www.kler.cn/a/294735.html

相关文章:

  • Node.Js+Knex+MySQL增删改查的简单示例(Typescript)
  • 网络安全-Linux基础(bash脚本)
  • mysql 快速解决死锁方式
  • Matlab实现鹈鹕优化算法(POA)求解路径规划问题
  • 手动实现h5移动端点击全屏按钮横屏展示图片,左右滑动切换,处理页面会随着手指滑动问题
  • html+js+css实现拖拽式便签留言
  • Window下编译OpenJDK17
  • 【重学 MySQL】十五、过滤数据
  • 【vue css】background设置背景图片不显示问题
  • 利用人类反馈优化文本摘要质量
  • 力扣刷题--1534. 统计好三元组【简单】
  • 如何用RoBERTa高效提取事件文本结构特征:多层次上下文建模与特征融合
  • 如何快速融入大学课堂
  • 快排Java
  • 多线程篇(ThreadLocal 内存模型 伪共享(伪共享))(持续更新迭代)
  • TCP远程命令执行
  • LLM agentic模式之multi-agent: ChatDev,MetaGPT, AutoGen思路
  • 人工智能 | Mistral 大语言模型
  • 【Zookeeper】小白基础入门
  • 关于vue项目启动报错Error: error:0308010C:digital envelope routines::unsupported
  • 828华为云征文|华为云服务器Flexus X搭建悟空crm管理系统——助力企业云上管理(解决APP Referer校验失败问题)
  • WildCard平台:揭秘ChatGPT畅享版、Claude畅享版及全能畅享套餐
  • JS中【JSON】知识点总结和常用方法分析
  • 活动|华院计算宣晓华受邀出席“AI引领新工业革命”大会,探讨全球科技的最新趋势
  • zhidianyun01/基于基于 ThinkPHP+Mysql 灵活用工平台源码
  • Redis、memcache、MongoDB 对比