Vue实现下载及文件重命名

2023-10-30

效果如下:

 

 实现步骤:

html: 

<el-table-column prop="name" label="操作" align="center" header-align="center" width="165">
    <template slot-scope="scope">
        <el-button type="text" size="small" @click="downloadExport(scope.row)">下载</el-button>
    </template>
</el-table-column>

JS: 

downloadExport(row){
    var nowTime = new Date().UTF2()
    let url = process.env.BASE_Url+encodeURI(row.fileUri)
    const config = {
        methods:'get',
        url:url,
        responseType:'blob'
    }
    axios(config).then((res)=>{
        const link = document.createElement('a')
        const url = window.URL.createObjectURL(new Blob([res.data],{ type: 'application/vnd.ms-excel' }))
        link.setAttribute("href",url);
        link.setAttribute('download',row.origin + '_'+nowTime+'xlsx')
        link.click()
    })
}

代码解析:

因为需求是:不仅要实现下载,而且所下载的文件名需要自定义(文件名+时间)

我这里做了时间的格式化

var nowTime = new Date().UTF2()   

当前下载文件的路径

let url = process.env.BASE_Url+encodeURI(row.fileUri)    

调用参数

const config  

生成一个a标签

const link = document.createElement('a')      

创建一个对象

window.URL.createObjectURL(new Blob([res.data],{ type: 'application/vnd.ms-excel' }))       

bold参数是一个file对象或者bold对象

objectURL是生成的对象URL,通过这个URL,可以获取到所指定文件的完整内容

如果不指定文件类型的话,默认为txt类型,反正我是遇到了,所以我制定了文件类型

{ type: 'application/vnd.ms-excel' }

增加一个指定名称和值的新属性,或者把一个现有属性设定为指定的值

        这里是给创建的 a 标签增加属性href和值url

        格式:

                name:要设置的属性名

                value:要设置的属性值

link.setAttribute("href",url);

再给创建的a标签指定 download 属性,并且拼接文件名及时间

link.setAttribute('download',row.origin + '_'+nowTime+'xlsx')

最后让创建的新属性触发点击事件

link.click()

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

Vue实现下载及文件重命名 的相关文章

  • 在 Vue.js 中从父组件执行子方法

    目前 我有一个 Vue js 组件 其中包含其他组件的列表 我知道使用 vue 的常见方式是将数据传递给孩子 并从孩子向父母发出事件 但是 在这种情况下 我想在子组件中的按钮出现时执行子组件中的方法 parent被点击 哪种方法最好 一种建
  • Meteor:应用程序无法在 0.9.1.1 版本上运行

    出现类似错误 Error TypeError undefined is not a function evaluating Template create anonymous function iron dynamic template j
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • 如何监听 jQuery AJAX 请求?

    以下两种实现 ajaxRequest 1 2 的方法应该是等效的 话说回来 为什么验证回调已执行的单元测试 3 在 1 中成功而在 2 中失败 我应该如何重写测试 3 来监视 2 中的成功回调 如果我尝试stub jQuery ajax使用
  • Javascript正则表达式用于字母字符和空格? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要一个
  • Vue:通过 CSS 选择组件的最简洁方法是什么?

    我有一个bar成分 它的使用方式如下
  • 如何将 Google Charts 与 Vue.js 库一起使用?

    我正在尝试使用 Vue js 库使用 Google Charts 制作图表 但我不知道如何添加到 div 这是我尝试做的 这是如何使用普通 javascript 添加图表 这是文档的代码示例 https developers google
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • 如何在react-native中获取Text组件的onPress值

    我是一名新的 React Native 开发人员 我想使用 onPress 获取 Text 组件的值并将其传递给函数
  • 如何使输入字段和提交按钮变灰

    我想变灰这两件事 http doorsplit heroku com 歌曲输入字段和提交按钮 直到用户输入艺术家 有没有一种简单的方法可以通过 JQuery 来做到这一点 艺术家输入字段的id是 request artist 你可以这样做
  • Grails 在 javascript 内的 GSP 站点中使用 grails var

    我有一个在 GSP 文件中的 javascript 代码中使用 grails 变量值的问题 例如 我有一个会话值session getAttribute selectedValue 我想在 javascript 代码部分使用这个值 我现在的
  • Electron - 为什么在关闭事件时将 BrowserWindow 实例设置为 null

    The 电子文档 https electronjs org docs api browser window 提供以下代码示例来创建新窗口 const BrowserWindow require electron let win new Br
  • Javascript 数组到 VBScript

    我有一个使用 Javascript 构建的对象数组 我需要使用 VBScript 读取它 如下例所示 我找不到在 VbScript 代码中循环遍历数组的方法myArray object 这个例子是我的问题的简化 我无法更改页面的默认语言 这
  • 条件在反应本机生产中失败,但在开发中有效

    我创建了一个反应本机应用程序 我需要通过它进行比较 如果属实 就会执行死刑 问题是 该条件适用于 React Native 开发模式 而不适用于 React Native 生产版本 我使用 firebase 作为数据库 也使用 redux
  • Safari 支持 JavaScript window.onerror 吗?

    我有一个附加到 window onerror 的函数 window onerror function errorMsg url line window alert asdf 这在 firefox chrome 和 IE 中工作正常 但在 s
  • 如何获取浏览器视口中当前显示的内容

    如何获取当前正在显示长文档的哪一部分的指示 例如 如果我的 html 包含 1 000 行 1 2 3 9991000 并且用户位于显示第 500 行的中间附近 那么我想得到 500 n501 n502 或类似的内容 显然 大多数场景都会比
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中
  • 使用 Ajax 请求作为源数据的 Jquery 自动完成搜索

    我想做的事 我想使用 jquery 自动完成函数创建一个输入文本字段 该函数从跨域curl 请求获取源数据 结果应该与此示例完全相同 CSS 在这里并不重要 http abload de img jquerydblf5 png http a
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示

随机推荐

  • 手写数据库连接池

    数据库连接是个耗时操作 对数据库连接的高效管理影响应用程序的性能指标 数据库连接池正是针对这个问题提出来的 数据库连接池负责分配 管理和释放数据库连接 它允许应用程序重复使用一个现有的数据路连接 而不需要每次重新建立一个新的连接 利用数据库
  • QPieSeries QPieSlice label 标签重叠解决方案

    demo 下载地址在最后 通常我们在用QPieSeries 做饼状图 并且饼状图几个部分差别不太大时 label 标签展示都是正常的 期望如下图 一般情况下做这种饼状图很简单 如 QPieSeries series new QPieSeri
  • postman测试文件下载时bug

    近日 写了一个图片下载的接口 遇到了中文乱码问题 笔者一直找解决方案 不断测试 结果 方案均无效 后来请教了大神 他在我做出代码中加了一行 fileName new String fileName getBytes UTF 8 ISO 88
  • mvn deploy时返回400解决方法.md

    使用mvn deploy命令 将打包后的jar包上传到私服时 出现了下面的问题 Return code is 400 ReasonPhrase Bad Request gt Help 1 一般通用有3个导致出现上面问题的原因 1 pom x
  • 关于IKEv2中安全策略索引SPI的生成

    首先引入一个PF key的概念 PF KEY Key Management API 提供IKE模块和IPSec核心之间的接口 在RFC 2367中 有一个SADB GETSPI消息 这个消息就是实现允许一个进程获取SPI值 该值标识所给的s
  • GTest基础学习-05-第5个单元测试-父test fixture和子test fixture的使用

    这篇来学习Gtest官方示例中的第5个 为什么直接跳过第4个 因为第四个是测试一个简单的计数器 看了下单元测试内容 没有新的知识点 就一个TEST 里面使用了连续3 4个EXPECT TRUE断言宏 完全没有任何新的知识点 就不再介绍第4个
  • html打印,可以控制换页

    显示效果 核心代码 div class pageBreak div 完整代码
  • 计算机网络之域名

    文章目录 计算机网络之域名 1 域名组成 2 域名分类 2 1顶级域名 2 2二级域名 2 3三级域名 2 4顶级域名其他分类 3 中文域名 4 www 计算机网络之域名 1 域名组成 2 域名分类 顶级域名包括顶级域名 二级域名 三级域名
  • docker学习(四)docker run用法

    目录 前言 一 参数列表 二 使用示例 前言 docker run 命令用于创建一个新的容器 启动一个新的进程 并为这个进程分配其独占的文件系统 网络资源等 通过参数设置可以覆盖镜像和容器的一些默认配置 一 参数列表 a 指定标准输入输出内
  • shell的内置命令

    shell有很多内置在其源代码中的命令 这些命令是内置的 所以shell不必到磁盘上搜索它们 执行速度因此加快 bash提供的help功能 能提供任何内置命令的在线帮助 表14 12列出了这些内置命令 表14 12 内置命令 命 令 功 能
  • eclipse常用设置

    eclipse常用设置 设置字体 window preferences General Appearace Colors and Fonts 设置字符编码 window preferences General Workspace Text
  • Spire.XLS 图表系列教程:C# 如何不使用工作数据创建Excel图表以及Excel雷达图

    更多资源查看 Spire XLS工作表教程 Spire Doc系列教程 Spire PDF系列教程 下载Spire XLS最新试用版 Spire XLS for NET 是一款专业的 NET Excel 组件 它可以用在各种 NET 框架中
  • 利用Dialogflow构建聊天机器人

    作者 Priyanka Vergadia Developer Advocate Google Anu Srivastava Developer Advocate AI ML 在如今的办公环境下 在线协同工作至关重要 保持生产力也是关键 聊天
  • 用Python自动化操作PPT,看完这篇文章就够了!

    作者 超级大洋葱806 https tangxing blog csdn net article details 109568830 大家好 我是小z 今天给大家分享一波Python自动化操作PPT的干货 1 PPT自动化能干什么 有什么优
  • django 项目中脚本启动

    django项目中的脚本如何快速方便启动 如上如 创建文件script放置脚本项目文件 在manage py同目录下创建run script py文件启动脚本 run script py代码 coding utf 8 import os i
  • ==与equals有什么区别

    与equals的区别 相同点 1 和equals都是用于完成比较操作 2 和equals的判定结果都是boolean值 true或false 不同点 1 是个运算符 本质上用于比较两个值是否相等 2 使用 运算符比较的值可以是基本类型的值
  • 在ubuntu20.4下安装ROS-noetic(全步骤经反复验证成功)

    注意 如果有conda环境 conda deactivate推出环境 1 4步骤都是很顺利的 如果下载失败请换源 第5步rosdep比较繁琐 但是根据我的使用情况 发现不按照rosdep也能正常使用 更新于2022 3 安装过程的打印信息可
  • 【图像处理】《数字图像处理-冈萨雷斯》笔记

    数字图像处理 冈萨雷斯 笔记 第一章 绪论 图像处理实例 伽马射线成像 X射线成像 紫外波段成像 可见光以及红外线成像 微波波段成像 无线电波成像 声波成像 图像处理的基本步骤 图像获取 滤波与增强 图像复原 彩色图像处理 小波与分辨率处理
  • JMeter 安装教程(详细安装教程)

    JMeter 安装教程 详细安装教程 一 jdk下载 注意 因为jmeter运行依赖jdk环境 所以在安装jmeter之前需要安装jdk且配置环境变量 需要jdk1 8以上版本 1 jdk下载地址 http www oracle com t
  • Vue实现下载及文件重命名

    效果如下 实现步骤 html