在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 事件,以模拟点击下载链接,从而触发浏览器的下载行为。
相关推荐
m0_738120724 分钟前
渗透基础知识ctfshow——Web应用安全与防护(完结:第八章)
前端·python·sql·安全·web安全·网络安全
克里斯蒂亚诺更新5 分钟前
uniapp适配H5和Android-apk实现获取当前位置经纬度并调用接口
android·前端·uni-app
宁&沉沦7 分钟前
前端开发专用的 Cursor 四大模式「快捷切换 + 指令模板」,直接复制就能用,覆盖 90% 日常场景
前端·编辑器
Cloud Traveler9 分钟前
用Calibre-Web把NAS上的电子书管起来:部署、配置与远程访问实战
前端
神明不懂浪漫13 分钟前
【第一章】HTML(一)——HTML简述及常用标签
前端·javascript·css·html·css3
鹏程十八少18 分钟前
5. 2026金三银四 吐血整理!Android高级UI 自定义view面试25题,覆盖90%大厂考点
前端·面试·前端框架
兄弟加油,别颓废了。19 分钟前
XSS-Labs 前 5 关 超详细通关全解
前端·xss
telllong24 分钟前
深入理解React Fiber架构:从栈调和到时间切片
前端·react.js·架构
英俊潇洒美少年26 分钟前
React18 Hooks 项目重构为 Vue3 组合式API的坑
前端·javascript·重构
雕刻刀33 分钟前
服务器模拟断网
linux·服务器·前端