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

vue3+ts 实现模板表格文件下载~

1、效果图:

2、创建点击事件,并发起请求,获取模板表格文件下载url地址。

//组件
<a-button class="btn btn_width" @click="download"> 下载模板 </a-button>

// 文件模板下载
import { getTemplate } from '@/api/import';
const download = () => {
  getTemplate({ type: 6 });
};

 3、创建请求

//下载模板接口
import { request } from '@/utils/request';
import { downUrl } from '@/utils/downloadFile';

let baseURL = '/api';

//下载模板
export const getTemplate = async (params) => {
  const res = await request({
    url: `${baseURL}/import/template/get-import-template-by-type`,
    method: 'GET',
    params,
  });
  downUrl(res);
};

4、调用另一个方法,实现根据返回的下载地址下载表格文件。

export const downUrl = (res: any) => {
  const downloadPath = res;

  // 创建一个隐藏的 <a> 标签
  const downloadLink = document.createElement('a');
  downloadLink.style.display = 'none';
  document.body.appendChild(downloadLink);

  // 设置下载链接的 href 属性为后端返回的下载路径
  downloadLink.href = downloadPath;

  // 触发下载
  downloadLink.click();

  // 清除创建的元素
  document.body.removeChild(downloadLink);
};

5、 解决跨域问题 

//vue.config.ts
proxy: {
      '/api': {
        target: 'baseurl地址', // 目标服务器地址
        changeOrigin: true, // 允许改变 Origin
        pathRewrite: {
          '^/api': '', // 重写路径,将 /api 替换为空
        }
      }
    },


http://www.kler.cn/news/288991.html

相关文章:

  • pikachu文件包含漏洞靶场攻略
  • 密钥分发与公钥认证:保障网络通信的安全
  • MySQL入门学习-MySQL的连接查询
  • MySQL——事务与存储过程(二)存储过程的创建(4)光标的使用
  • 【Linux学习笔记】protobuf相关操作
  • 数仓基础(九):各大公司实时数仓实践
  • Go锁 详解
  • k8s-使用Network Policies实现网络隔离
  • (二)、软硬件全开源智能手表,可全面高精度采集生命体征数据,进行健康检测。(HealthyPi Move)
  • 【Java中的三元运算符】
  • 书法图片自动扣字的批处理
  • leecode 31.下一个排列(Golang)
  • 深度学习100问27:什么是截断的BPTT
  • mysql的组从复制
  • 检测文件解析漏洞的工具
  • 技术Leader在训练团队思考力中的核心职责
  • MySQL常用的查询优化分析方法有哪些?
  • 【Qt】 QComboBox | QSpinBox
  • 【qt】qss使用
  • 钢铁百科:A633GrE钢板材质、A633GrE力学性能、A633GrE执行标准
  • JAVA - 关于防重复提交探讨
  • uniapp scroll-view滚动触底加载 height高度自适应
  • centos7 安装python3.12.5
  • 【链表】环形链表
  • Linux-centos7目录结构
  • C++入门基础知识45——【关于C++ 函数】定义函数、函数声明
  • 【网络安全】服务基础第一阶段——第六节:Windows系统管理基础---- DNS部署与安全
  • 【WPF动画】
  • kubeadm部署 Kubernetes(k8s) 高可用集群【V1.20 】
  • 智能创作与优化新时代:【ChatGPT-4o】在【数学建模】、【AI绘画】、【海报设计】与【论文优化】中的创新应用