【vue项目中点击下载】弹窗提示:离开此网站?系统可能不会保存您所做的更改,改为直接下载,不提示此弹窗内容,已解决

项目中用的是window.location.href实现下载

在Web浏览器中,当尝试通过window.location.href重定向到一个文件下载URL时,浏览器通常会显示一个确认对话框,询问用户是否要离开当前页面,因为下载的文件通常是在新窗口或新标签页中打开的。这是浏览器的内置安全特性,用于防止用户无意中离开当前页面并丢失未保存的数据

downLoad(file) {window.location.href = `${process.env.VUE_APP_BASE_API}/common/download/resource?fileName=${file.fileName}`
}

然后就出现类似这样的弹窗提示

在这里插入图片描述

如果要直接开始下载,有两种写法,实现思路是一样的,创建a连接,设置download属性

downLoad(file) {//  使用<a>标签并设置download属性const link = document.createElement('a')link.href = `${process.env.VUE_APP_BASE_API}/common/download/resource?fileName=${file.fileName}`link.download = file.fileName // 设置download属性document.body.appendChild(link)link.click()document.body.removeChild(link)
}
downLoad(file) {//使用XMLHttpReques,创建一个Blob对象并使用URL.createObjectURL来创建一个可以下载的链接const xhr = new XMLHttpRequest();xhr.open('GET', `${process.env.VUE_APP_BASE_API}/common/download/resource?fileName=${file.fileName}`, true);xhr.responseType = 'blob';xhr.onload = function () {if (this.status === 200) {const blob = this.response;const url = window.URL.createObjectURL(blob);const link = document.createElement('a');link.href = url;link.download = file.fileName;document.body.appendChild(link);link.click();window.URL.revokeObjectURL(url); // 释放URL对象document.body.removeChild(link);}};xhr.send();}

实测两种都可以
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/746486.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序员如何平衡主业与副业?

程序员的副业有哪些&#xff1f; 常见的有接私活&#xff0c;即外包一些软件项目来做&#xff0c;或者是写文章、拍教学视频、开直播等等。在这里&#xff0c;我更推荐程序员的副业是找个软件开发外包平台来接单&#xff0c;就是在工作之外接一下软件开发、外包项目等&#xf…

软件无线电系列——模拟无线电、数字无线电、软件无线电

本节目录 一、模拟无线电 二、数字无线电 1、窄带数字无线电 2、宽带数字无线电 三、软件无线电本节内容 一、模拟无线电 20世纪80年代的模拟体制(美国的AMPS/欧洲的TACS)被称为第一代移动通信&#xff0c;简称1G,主要目标是为在大范围内有限的用户提供移动电话服务。最主要的…

[Django 0-1] Core.Handlers 模块

Core.Handlers 模块 这个模块封装了 wsgi,asgi 两个类&#xff0c;分别用于处理外部的请求信息&#xff0c;asgi 提供异步处理能力。 Handler 模块将请求Request封装包裹了Middleware中间件&#xff0c;并将处理结果返回为Response响应对象。 BaseHandler 重要函数 load_m…

buuctf 部分web题

[b01lers2020]Welcome to Earth 打开网站&#xff0c;停一会会跳转die&#xff0c;了解一下&#xff0c;这就类似一个通关游戏&#xff0c;不能死亡&#xff0c;也就是说进入/die这个网站就意味着题就做不出来了&#xff1b;所以回到上一个网站原网站&#xff0c;查看源码&…

神经网络量化

神经网络量化&#xff08;Neural Network Quantization&#xff09;是一种技术&#xff0c;旨在减少神经网络模型的计算和存储资源需求&#xff0c;同时保持其性能。在深度学习中&#xff0c;神经网络模型通常使用高精度的参数&#xff08;例如32位浮点数&#xff09;来表示权重…

如何关闭 Visual Studio 双击异常高亮

[问题描述]&#xff1a; 最近 Visual Studio 更新后&#xff0c;双击选中关键字快要亮瞎我的眼睛了 &#x1f440;&#x1f440; [解决方法]&#xff1a; 摸索了一下&#xff0c;找到了关闭的方法&#xff1a;工具 → 选项 → 文本编辑器 → 常规&#xff0c;然后取消 勾选 sel…

红帽认证含金量如何?红帽rhcsa认证证书认可度高吗?

事实上&#xff0c;红帽认证含金量在全球范围内都得到了广泛的认可和重视。许多企业和组织都将红帽认证作为招聘和选拔人才的重要标准之一。持有红帽认证的个人往往能够获得更好的职业机会和更高的薪资水平。此外&#xff0c;红帽认证还被许多政府机构、行业协会和教育机构所认…

888888888888888888后果聚光镜

☞ 通用计算机启动过程 1️⃣一个基础固件&#xff1a;BIOS 一个基础固件&#xff1a;BIOS→基本IO系统&#xff0c;它提供以下功能&#xff1a; 上电后自检功能 Power-On Self-Test&#xff0c;即POST&#xff1a;上电后&#xff0c;识别硬件配置并对其进行自检&#xff0c…

html行内元素(内联元素),块级元素分别有哪些?

html行内元素&#xff08;内联元素&#xff09;&#xff0c;块级元素分别有哪些&#xff1f; 常用的分类包括行内元素&#xff08;内联元素&#xff09;和块级元素。下面是它们的示例列表&#xff1a; 行内元素&#xff08;Inline Elements&#xff09;&#xff1a; <span&…

laravel 表单验证的 exists、unique 去除软删除字段的校验

use Illuminate\Validation\Rule; exists 去除软删除字段的校验 $validator \Validator::make($data, [phone_new > [Rule::exists(users, phone)->whereNull(deleted_at),]], [phone_new.exists > 手机号不存在,]);unique 去除软删除字段的校验 // 新增 email>r…

vue3动态组件未渲染问题

渲染问题 component动态组件写法与vue2写法一致&#xff0c;代码如下&#xff1a; <component :is"componentName"/><script setup>import { ref } from vueimport account from ./user/account.vue// 组件名称const componentName ref(account)// 点击…

【算法】一类支持向量机OC-SVM(1)

【算法】一类支持向量机OC-SVM 前言一类支持向量机OC-SVM 概念介绍示例编写数据集创建实现一类支持向量机OC-SVM完整的示例输出 前言 由于之前毕设期间主要的工具就是支持向量机&#xff0c;从基础的回归和分类到后来的优化&#xff0c;在接触到支持向量机还有一类支持向量机的…

unity

Unity官方下载_Unity最新版_从Unity Hub下载安装 | Unity中国官网 Unity Remote - Unity 手册 登陆账号&#xff0c;找到一个3d 免费资源 3D Animations & Models | Unity Asset Store unity 里面window->package Manager 里面可以看到自己的asset &#xff0c;下载后…

Java SE入门及基础(43)

目录 File类 1. File类的作用 2. File类的使用 常用构造方法 示例 常用方法 1.获取文件相关信息 示例 2.文件相关的判断 示例 3.文件列表相关 示例 3. 递归 示例 1.使用递归求1~100的累加和。 2.使用递归打印文件夹下所有文件信息 练习 思考&#xff1a;如何删…

《Effective Modern C++》- 极精简版 36-42条

本文章属于专栏《业界Cpp进阶建议整理》 继续上篇《Effective Modern C》- 极精简版 30-35条。 本文列出《Effective Modern C》的36-42条的个人理解的极精简版本。 Item36、如果有异步的&#xff0c;请指定std::launch::async demo代码为&#xff1a; int calculateSum(int a…

MySQL 数据库压力测试

文章目录 前言1. 安装部署1.1 二进制安装1.2 源码安装 2. 服务器性能测试2.1 CPU2.2 内存2.3 磁盘 3. MySQL 基准测试3.1 参数解析3.2 压测命令3.3 输出解读3.4 结果分析 前言 Sysbench 是一个开源的多线程基准测试工具&#xff0c;也是目前使用最多的 MySQL 压力测试工具。本…

树莓派与电脑视频实时传输实现

编程环境 1、 树莓派 4B 2、 windows 编程语言 python 应用 tkinter scoket opencv 效果 视频同传 服务端视频初始化 服务端视频读取 windows 客户端接收视频流&#xff0c;队列存储 解析视频&#xff0c;存入队列 ui页面数据刷新 下载链接&#xff1a;https://…

什么是虚假唤醒?为什么会产生虚假唤醒?

什么是虚假唤醒&#xff1f; 当一定的条件触发时会唤醒很多在阻塞态的线程&#xff0c;但只有部分的线程唤醒是有用的&#xff0c;其余线程的唤醒是多余的。 比如说卖货&#xff0c;如果本来没有货物&#xff0c;突然进了一件货物&#xff0c;这时所有的顾客都被通知了&#x…

1178: 密码翻译(python)

题目描述 在情报传递过程中&#xff0c;为了防止情报被截获&#xff0c;往往需要对情报用一定的方式加密&#xff0c;简单的加密算法虽然不足以完全避免情报被破译&#xff0c;但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法&#xff0c;对给定的一个字符串&…

elasticsearch篇:数据聚合

1.数据聚合 聚合&#xff08;aggregations&#xff09;可以让我们极其方便的实现对数据的统计、分析、运算。例如&#xff1a; 什么品牌的手机最受欢迎&#xff1f; 这些手机的平均价格、最高价格、最低价格&#xff1f; 这些手机每月的销售情况如何&#xff1f; 实现这些…