在vue中实现下载文件功能

实际操作为,在表格中

我们可以获取到文件的id,通过插槽就可以实现

javascript 复制代码
<template #default="scope">
              <el-button type="text" @click="handleDown(scope.row)">
                <span>下载</span>
              </el-button>
</template>
javascript 复制代码
 handleDown(val){
      const a = document.createElement("a");
      const event = new MouseEvent("click");
      a.download = val.attachmentName;
      a.href = 下载文件的基本url + val.documentId;
      a.dispatchEvent(event);
    },

解析上段代码

  1. const a = document.createElement("a");:创建了一个新的 <a> 元素,该元素用于生成下载链接。
  2. const event = new MouseEvent("click");:创建了一个新的 MouseEvent 对象,该对象用于模拟点击事件。
  3. a.download = val.attachmentName;:将下载链接的文件名设置为 val.attachmentName
  4. a.href = 下载文件的基本Url + val.documentId;+后面为参数,也就是文件的id
  5. a.dispatchEvent(event);: dispatch 事件,以模拟点击下载链接,从而触发浏览器的下载行为。
相关推荐
guang光2 分钟前
Windows上通过gitbash使用Rsync
前端
小华同学ai3 分钟前
真香,Cursor懂的都懂(学习用哈),22.5k一键重置Cursor试用限制!被全网疯狂收藏!
前端·后端·github
ytttr8734 分钟前
docker快速部署OS web中间件 数据库 编程应用
前端·docker·中间件
刺客-Andy5 分钟前
React 第五十八节 Router中StaticRouterProvider的使用详解及案例
前端·react.js·前端框架
korgs6 分钟前
20、React常用API和Hook索引
前端·react.js·前端框架
工呈士6 分钟前
前端模块化的过去和未来
前端·react.js·面试
xihehua8 分钟前
Nuxt Vue3
vue.js
程序员阿超的博客8 分钟前
React父子组件通信:Props怎么用?如何从父组件向子组件传递数据?
前端·javascript·react.js
前端小白佬9 分钟前
【JS】export default 🆚 export
javascript·面试
来碗疙瘩汤9 分钟前
使用leafer-ui,实现一个图片标注类
前端