如何纯前端实现文件下载

业务场景

有一个下载文件的功能,不引入后端资源,纯前端应该如何实现?
在这里插入图片描述

解决方案

在vue2或者vue3项目中,可以把文件放在 public 文件夹下,然后使用a标签进行文件下载。
如:我要下载的文件是模版.xlsx 。首先,我把这个文件直接放到了 public 文件夹里。然后,添加下面的代码,即可实现点击“下载模版”就下载文件的功能。

<template>
  <a
    href="/模版.xlsx"
    download
    >
    下载模板
  </a>
</template>

为什么 href 这样写就能获取到文件?

在 Vue CLI 项目中,public 文件夹中的文件可以直接通过相对路径进行访问。所以当你使用 /模板.xlsx 这样的路径时,Vue 会将其解析为项目根目录下的 public 文件夹中的 模板.xlsx 文件。
这是因为 Vue CLI 在构建项目时,会将 public 文件夹中的内容复制到最终的构建目录中(默认是 dist 文件夹)。因此,public 文件夹中的文件可以直接通过相对路径访问,而不需要经过额外的处理。

如果我把文件上传到别的服务器再下载行不行?

可以。但是可能会出现以下2个问题:

  1. 在chrome浏览器,出现了文件被重命名的问题。
  2. 在Edge 浏览器仲,会无视 download 属性自动打开 office 而不是下载文件。
    如果要解决这些问题,你可能需要在响应头增加Content-Disposition: Attachment来处理。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python爬虫爬取网站

流程&#xff1a; 1.指定url(获取网页的内容) 爬虫会向指定的URL发送HTTP请求&#xff0c;获取网页的HTML代码&#xff0c;然后解析HTML代码&#xff0c;提取出需要的信息&#xff0c;如文本、图片、链接等。爬虫请求URL的过程中&#xff0c;还可以设置请求头、请求参数、请求…

山石防火墙简单配置

1、设备管理 安全网关支持本地与远程两种环境配置方法&#xff0c;可以通过CLI 和WebUI 两种方式进行配置。CLI 同时支持Console、Telnet、SSH 等主流通信管理协议。 1.1终端console 登录 通过Console 口配置安全网关时需要在计算机上运行终端仿真程序&#xff08;系统的超级…

githacker安装详细教程,linux添加环境变量详细教程(见标题三)

笔者是ctf小白&#xff0c;这两天也是遇到.git泄露的题目&#xff0c;需要工具来解决问题&#xff0c;在下载和使用的过程中也是遇到很多问题&#xff0c;写此篇记录经验&#xff0c;以供学习 在本篇标题三中有详细介绍了Linux系统添加环境变量的操作教程&#xff0c;以供学习 …

Docker核心教程

1. 概述 官网&#xff1a;https://docs.docker.com/ Docker Hub 网站&#xff1a;https://hub.docker.com/ 容器较为官方的解释&#xff1a; 一句话概括容器&#xff1a;容器就是将软件打包成标准化单元&#xff0c;以用于开发、交付和部署。 容器镜像是轻量的、可执行的独立…

专治外贸客户不回复!

“我待客户如初恋&#xff0c;而客户却虐我无数遍”&#xff0c;这是很多新人给客户报价之后&#xff0c;如同石沉大海般杳无音讯的内心写照&#xff0c;每次都感到信心备受打击。 不禁扣心自问&#xff1a;究竟为什么不回复我呢&#xff1f;还没有找到答案&#xff0c;新的询…

AI 智能体:探索自主智能的世界

AI 智能体&#xff1a;探索自主智能的世界 认真的飞速小软 飞速创软 2024-01-30 11:06 发表于新加坡 想象一下&#xff0c;在这样一个世界里&#xff0c;软件自身可以自主地与环境交互&#xff0c;根据收集的数据做出决策&#xff0c;并以最少的人工干预来执行任务。这些AI智能…

取巧方式el-select单选重复选择

前言&#xff1a;之前产品是可以多选&#xff0c;我就一想在el-select 加个multiple不就完事了吗&#xff1f;我兴高采烈几分钟就实现了这个选择框&#xff0c;可是后面说单选也要重复多选几个&#xff0c;顿时我就****,又不想自己写个 首先安装element-plus 一定要安装2.5版本…

主编决定命运?这本中科院TOP刊,领域排名靠前,审稿速度却“两重天”!

【SciencePub学术】 POWTEC 期刊评说 网 友 辣 评 中科院2区TOP&#xff0c;处理速度快&#xff01;审稿意见专业负责&#xff01; 评说1&#xff1a;我的rrc都四十天了还没动静&#xff0c;Fan院士真的是慢性子啊&#xff01;我送到Fan主编手里的全被据&#xff0c;这次Yu主…

【论文阅读|小目标分割算法ASF-YOLO】

论文阅读|小目标分割算法ASF-YOLO 摘要&#xff08;Abstract&#xff09;1 引言&#xff08;Introduction&#xff09;2 相关工作&#xff08;Related work&#xff09;2.1 细胞实例分割&#xff08;Cell instance segmentation&#xff09;2.2 改进的YOLO用于实例分割&#xf…

腾讯云0基础10秒搭建幻兽帕鲁游戏联机服务器

幻兽帕鲁&#xff08;Palworld&#xff09;是一款多人在线游戏&#xff0c;为了获得更好的游戏体验&#xff0c;需要搭建一个稳定、高效的游戏联机服务器。腾讯云提供了一种简单、快速的方法&#xff0c;让新手小白也能0基础10秒搭建幻兽帕鲁游戏联机服务器&#xff01; 本文将…

神经网络模型和动态计算图、梯度计算与自动微分

神经网络模型通常使用计算图来表示其内部结构和计算过程。在深度学习框架如PyTorch中&#xff0c;动态计算图是实现这一机制的一种方式。在神经网络模型中&#xff0c;梯度是一个关键概念&#xff0c;它反映了模型参数对于损失函数&#xff08;即预测误差&#xff09;的敏感度。…

Qt6入门教程 14:QToolButton

目录 一.简介 二.常用接口 1.void setMenu(QMenu * menu) 2.void setPopupMode(ToolButtonPopupMode mode) 3.void setToolButtonStyle(Qt::ToolButtonStyle style) 4.void setArrowType(Qt::ArrowType type) 5.void setDefaultAction(QAction * action) 三.实战演练 1…

Observability:在 Elastic Stack 8.12 中使用 Elastic Agent 性能预设

作者&#xff1a;来自 Elastic Nima Rezainia, Bill Easton 8.12 中 Elastic Agent 性能有了重大改进 最新版本 8.12 标志着 Elastic Agent 和 Beats 调整方面的重大转变。 在此更新中&#xff0c;Elastic 引入了 Performance Presets&#xff0c;旨在简化用户的调整过程并增强…

【网络安全|漏洞挖掘】ChatGPT 再曝安全漏洞,被指泄露私密对话

风靡全球的聊天机器人 ChatGPT 近日再次陷入安全风波&#xff0c;被曝泄露用户同机器人的私密对话&#xff0c;其中包含用户名、密码等敏感信息。 ArsTechnica 网站援引其读者提供的截图报道称&#xff0c;ChatGPT 泄露了多段非用户本人的对话内容&#xff0c;包含了大量敏感信…

基于大数据的B站数据分析系统的设计与实现

摘要&#xff1a;随着B站&#xff08;哔哩哔哩网&#xff09;在国内视频分享平台的崛起&#xff0c;用户规模和数据量不断增加。为了更好地理解和利用这些海量的B站数据&#xff0c;设计并实现了一套基于Python的B站数据分析系统。该系统采用了layui作为前端框架、Flask作为后端…

远程访问@HttpExchange

提示&#xff1a;这是SpringBoot3以上的新特性。 远程访问HttpExchange 一、webClient二、Http 服务器接口的方法定义三、声明式 HTTP 远程服务 远程访问是开发的常用技术&#xff0c;一个应用能够访问其他应用的功能。Spring Boot 提供了多种远程访问技术。基于 HTTP 协议的远…

博云科技与中科可控全面合作,探索前沿金融科技新机遇

2024年1月26日&#xff0c;博云科技与中科可控在昆山高新区成功举办合作签约仪式。昆山市委常委、昆山高新区党工委书记孙道寻、中科可控董事长聂华、博云科技董事长花磊等领导出席了本次签约仪式。 中科可控将利用其在先进计算和智造领域的优势&#xff0c;为博云科技提供有关…

通过WSL2来实现Windows10/11的深度学习模型GPU加速,TensorFlow项,Jupyter及其插件安装,CQF心得,金融量化

通过WSL2来实现TF的GPU加速 为什么要用WSL&#xff08;Windows Subsystem Linux&#xff09;安装WSL2&#xff0c;miniconda&#xff0c;cuda&#xff0c;cudnn&#xff0c;TA-Lib安装 WSL2安装 Miniconda3安装 CUDA安装 cuDNN安装 TensorFlow 库安装 TA-Lib 库安装其它CQF及金…

立式台灯什么牌子好用又实惠?好用又实惠的台灯分享

近年来&#xff0c;随着电子产品越来越普及&#xff0c;社会的发展和生活方式的转变&#xff0c;视力不良和近视问题越发严重&#xff0c;全国学生体质与健康调研数据显示&#xff0c;从1985年起中国中小学生视力不良率持续上升&#xff0c;到2019年时&#xff0c;视力不良率已…

STM32——感应开关盖垃圾桶

STM32——感应开关盖垃圾桶 1.定时器介绍 软件定时 缺点&#xff1a;不精确、占用CPU资源 void Delay500ms() //11.0592MHz {unsigned char i, j, k;_nop_();i 4;j 129;k 119;do{do{while (--k);} while (--j);} while (--i); }定时器工作原理 使用精准的时基&#xff…