vue3+ts 前端word文档下载文件时不预览直接下载方法(支持 doc / excel / ppt / pdf 等)
前端word文档下载文件时不预览直接下载方法支持 doc / excel / ppt / pdf 等
根据需要,要实现一个下载文档的需要

最简单的方法就是使用a标签
如果是相同域可以直接下载,但如果是不同域的,就会先打开一个预览页,在预览页再点下载。

但其实我希望得到的效果是,当我点击下载时,可以直接下载,不要预览,可以使用如下方法



代码如下:
const downloadRecordHandler = (url) => {console.log("url", url);let filename = "xxxxxxx"; //文件名getBlob(url).then((blob) => {saveAs(blob, filename);});};const 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();});};const saveAs = (blob, filename) => {if (window.navigator.msSaveOrOpenBlob) {navigator.msSaveBlob(blob, filename);} else {const link = document.createElement("a");const body = document.querySelector("body");link.href = window.URL.createObjectURL(blob);link.download = filename;link.style.display = "none";body.appendChild(link);link.click();body.removeChild(link);window.URL.revokeObjectURL(link.href);}};
这样就实现了我想要的效果。
相关文章:
vue3+ts 前端word文档下载文件时不预览直接下载方法(支持 doc / excel / ppt / pdf 等)
前端word文档下载文件时不预览直接下载方法支持 doc / excel / ppt / pdf 等 根据需要,要实现一个下载文档的需要 最简单的方法就是使用a标签 如果是相同域可以直接下载,但如果是不同域的,就会先打开一个预览页,在预览页再点下载…...
Java 空值与null 形参与实参学习
Java系列文章目录 文章目录 Java系列文章目录一、前言二、学习内容:三、问题描述四、解决方案:4.1 空值与null的区别4.1.1 空值(Empty Value)4.1.2 Null 4.2 形参与实参区别 五、总结:5.1 学习总结: 一、前…...
【QT常用技术讲解】QTableView添加QCheckBox、QPushButton
前言 QT展示列表信息的时候通常用到列表(比如用户信息、机构信息、设备信息等菜单),当需要对某列进行修改、删除操作时,就需要加入按钮(QPushButton),当需要对多列进行右键菜单操作时࿰…...
linux监控命令
在 Linux 中,有许多命令可以用于监控系统的性能和状态。以下是一些常用的监控命令及其用途: 1. top 和 htop top top 命令显示当前系统中运行的进程列表及其资源使用情况。 top htop htop 是 top 命令的增强版,提…...
SpringBoot入门笔记
本文是看黑马老师讲课视频学习笔记整理 目录 入门案例 基于IDEA联网 基于Springboot官网创建 基于阿里云创建项目 手工创建 隐藏文件 入门案例解析: parent编辑 starter 引导类 内嵌tomcat 入门案例 基于IDEA联网 RestController RequestMapping("/books&…...
python 华为od 单词接龙
sd[word,dd,da,dc,dword,d] # 计算出下一个接龙单词 def jl(sd,st):# sd.remove(st)sd list(set(sd))sends list(st)[-1]lg []sd.sort()for i in sd:if i.startswith(sends):lg.append((i, len(i)))if lg[]:return 0,0lg.sort(keylambda x: x[1],reverseTrue)maxlen lg[0][…...
Vue+Echart实现地图省市区三级下钻
采用在线地图数据,整体简约,扩展也方便 参考 <template><div><div ref"mapContainer" style"width: 100%; height: 600px;"></div><button click"goBack">返回上一级</button></…...
Apache Tomcat 信息泄露漏洞排查处理CVE-2024-21733)
一、漏洞描述 Apache Tomcat作为一个流行的开源Web服务器和Java Servlet容器并用于很多中小型项目的开发中。其中,Coyote作为Tomcat的连接器组件,是Tomcat服务器提供的供客户端访问的外部接口,客户端通过Coyote与服务器建立链接、发送请求并且接收响应。 近日发现Apache To…...
51单片机-LED实验
实现了按下独立按键,LED灯亮,松开独立按键,LED灯灭的功能 #include <8051.h>void delayms(unsigned char t){unsigned char i,j;i900;jt;do{jt;while (j--){/* code */}}while(i--); }void main(){// P2_01;while (1){if(P3_00){delay…...
无人机开启农林植保新篇章
嘿,小伙伴们,你们知道吗?无人机已经悄悄在农业领域大展拳脚,成为现代农业的“黑科技”新宠儿啦! 想象一下,广袤的田野上空,无人机如同勤劳的蜜蜂,精准高效地完成着各项任务ÿ…...
第N4周:NLP中的文本嵌入
本文为365天深度学习训练营 中的学习记录博客原作者:K同学啊 任务要求:加载第N1周的.txt文件,使用Embeddingbag与Embedding完成词嵌入 第N1周的.txt文件的名称为“任务文件.txt”,内容为: 比较直观的编码方式是采用上…...
C++高精度减法
高精度减法其实跟加法差不多,首先就是需要逆序存入整数数组,其次就是做运算,最后就是删除前导0逆序输出。 不过在做高精度减法需要考虑一下两个数的关系是有三种的,a>b,a<b ab;思考全面咱们的程序才能拿满分。 以下是完整…...
protobuf cmakelist,msvc utf-8设置
源字符集和执行字符集 源字符集指的是cpp文件中字符串的编码方式 执行字符集指的是exe文件中字符串的编码方式 msvc编译器设置的命令行参数 /source-charset:utf-8 /execution-charset:utf-8 cmake中设置 add_compile_options(“ < < <<CXX_COMPILER_ID:MSVC>…...
Haproxy讲解
Haproxy: haproxy是一个开源的高性能反向代理和负载均衡器,主要用于TCP和HTTP流量管理。 功能和特点:haproxy能够处理大量的并发连接,支持TCP和HTTP协议,具有高可用性和负载均衡功能。它特别适用于需要处理大量流量的网站&am…...
K8S系列——一、Ubuntu上安装Helm
在使用K8S搭建集群服务时,有时候需要用到Helm(一个用于Kubernetes应用管理的工具),下面是在Ubuntu上安装Helm的过程。 1.更新系统软件包列表 sudo apt-get update2.安装必要的依赖项 sudo apt-get install apt-transport-https…...
排序: 插入\希尔\选择\归并\冒泡\快速\堆排序实现
1.排序的概念及应用 1.1概念 排序:所谓排序,就是一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 1.2运用 购物筛选排序: 1.3常见排序算法 2.实现常见的排序算法 int a[ {5,3,9,6,2,4,7,1,8}; 2…...
OpenCV图像处理——按最小外接矩形剪切图像处理ROI后映射回原图像
引言 在图像处理过程中,提取感兴趣区域(ROI)并在其上进行处理后,往往需要将处理后的结果映射回原图像。这一步通常涉及以下几个步骤: 找到最小外接矩形:使用 cv::boundingRect 或 cv::minAreaRect 提取感兴…...
Linux中以单容器部署Nginx+ASP.NET Core
强烈推荐在生产环境中使用反向代理服务器转发请求到Kestrel Http服务器,本文将会实践将Nginx --->ASP.NET Core 部署架构容器化的过程。 Nginx->ASP.NET Coe部署架构容器化 在Docker中部署Nginx--->ASP.NETCore 有两种选择, 第一种是在单容器…...
【秋招笔试】8.11大疆秋招(第三套)-三语言题解
🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收…...
标题:打造编程学习的知识宝库:高效笔记记录与整理
标题:打造编程学习的知识宝库:高效笔记记录与整理 在编程学习的征途中,有效的笔记记录和整理技巧对于掌握和回顾知识点至关重要。本文将从笔记工具选择、笔记结构设计、以及实践与复习策略三个方面,探讨如何高效地记录并整理编程…...
5分钟快速入门:Win11Debloat终极系统优化指南
5分钟快速入门:Win11Debloat终极系统优化指南 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化和改善你的W…...
MCP服务器本地数据库连接器接入实战:从零到稳定连接仅需17分钟,附完整CLI脚本与避坑清单
第一章:MCP服务器本地数据库连接器接入实战:从零到稳定连接仅需17分钟,附完整CLI脚本与避坑清单环境准备与依赖确认 确保目标服务器已安装 PostgreSQL 14 或 MySQL 8.0,并启用本地 socket 连接。验证 psql 或 mysql CLI 工具可执行…...
如何使用 Flutter 开发 HarmonyOS 应用
文章目录为什么使用 Flutter 来开发?搭建 Flutter 开发环境mac 环境变量示例win 环境变量参考验证环境变量是否配置成功集成与调试 Flutter OH SDKFlutter 开发环境搭建第一个 Flutter OH 程序其它常用 Flutter OH 命令题外话Flutter OH 参考文档Author:…...
hadoop+spark+hive爬虫农产品推荐系统 农产品爬虫 农产品可视化 农产品价格预测系统 爬虫+线性回归预测算法+Flask框架
1、项目 介绍 技术栈: python语言、FLASK框架、requests爬虫技术、Echarts可视化、HTML、线性回归预测算法模型 惠农网https://www.cnhnb.com/农产品价格预测系统在现代农业领域发挥着重要作用,它不仅有助于农民合理安排农作物的种植和销售,…...
保姆级教程:用HBuilderX给UniApp安卓项目制作支持MQTT插件的自定义基座
深度解析:UniApp安卓项目集成MQTT插件的自定义基座实战指南 当你在UniApp项目中尝试使用原生MQTT插件时,是否遇到过这样的困境:代码写好了,插件也购买了,但真机运行时却频频报错?这往往是因为官方基座缺少必…...
为数据分析管道增加编排层
多年来,仪表板一直是与数据交互的主要界面。它们呈现指标、可视化趋势,并通过图表和过滤器支持决策。但它们也要求用户解释结果、提出后续问题并手动调查根本原因。 如果这个调查层可以由系统驱动呢? 这就是编排变得关键的地方。 Agentic …...
PCIe协议栈深度解析:从TLP报文到数据流的端到端旅程
1. PCIe协议栈全景图:从树形拓扑到分层协作 第一次拆开服务器机箱时,我看到主板上那些长短不一的PCIe插槽就像看到地铁线路图——根组件(Root Complex)是中央枢纽,交换机(Switch)是中转站&#…...
单片机驱动分离架构设计与实现
单片机固件的驱动分离式设计架构解析1. 嵌入式软件架构概述1.1 嵌入式开发现状分析当前嵌入式开发领域存在明显的架构设计缺失现象,特别是在单片机开发层面。与Web服务端和PC软件开发不同,嵌入式领域很少设立专门的软件架构师职位,这主要源于…...
SAR成像新手避坑指南:从点目标到面目标,你的Matlab仿真为什么跑不出来?
SAR成像仿真实战:从点目标到面目标的Matlab避坑手册 当你第一次成功运行点目标SAR成像仿真时,那种成就感就像解开了宇宙的密码。但当你信心满满地转向面目标仿真,准备复现教科书上的精美图像时,Matlab却用各种报错和异常结果给你泼…...
纺织品瑕疵自动检测系统功率MOSFET选型方案——高效、精准与可靠驱动系统设计指南
随着纺织工业智能化升级与质量管控标准提升,纺织品瑕疵自动检测系统已成为现代纺织产线的核心装备。其运动控制、照明驱动与图像采集系统的电源与驱动单元作为系统稳定运行的关键,直接决定了检测精度、响应速度、系统能耗及长期稳定性。功率MOSFET作为各…...
