html 中 a 链接的 download 属性的神奇使用_a 链接download-程序员宅基地

技术标签: a  download  浏览器  FungLeo的前端笔记  HTML\CSS  

#html 中 a 链接的 download 属性的神奇使用

一般来说,我们在页面中提供下载的时候,都需要去配置一些服务端的东西,比如指定 zip 文件就通知浏览器下载这个文件。

但是,比如 .jpg 这样的图片文件,如何使它变成下载呢?浏览器可以直接打开访问这个文件的呀。

再比如,.pdf 文件,有的浏览器支持直接打开,有的浏览器不支持,则会下载。等等之类的问题。

好,现在的问题是,我需要方可点击这个链接,然后把一个资源下载下来,而不是用浏览器打开。

非常明确的需求。

之前我在开发 FengCMS 开源系统的时候,就涉及到这个问题。当时我们用PHP写了一个函数,凡是用这个函数包裹的链接,会强制浏览器去下载。

直到今天。。。。

神奇的 download 属性

<a href="https://vuejs.org/images/logo.png" download>下载 vue 的 LOGO</a>

如上代码,就可以直接把文件给下载下来了。

什么都没有做,只是给 a 加了一个 download 属性!!

并且不仅仅是这样的,我们还可以重命名文件。如下代码:

<a href="https://vuejs.org/images/logo.png" download="2017.png">下载 vue 的 LOGO</a>

通过给 download 添加属性名,就可以直接下载并且重命名为这个文件名了。

众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

不知道浏览器兼容性如何, but, who care?

补充说明,经过测试,不能跨域下载图片,只能下载同域名下的资源。跨域规则和接口请求规则一致。

本文由 FungLeo 原创,允许转载,但转载必须保留首发链接。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/FungLeo/article/details/77506388

智能推荐

eclipse安装maven插件_maven项目下载插件eclipse.buildid=3.8.1.201607290850-rele-程序员宅基地

文章浏览阅读393次。2、将下载下来的包解压到电脑磁盘上,例如:E:\tools\java\maven\apache-maven-3.5.03、配置用户变量MAVEN_HOME以及path系统变量4、打开DOS,输入命令mvn -v查看是否安_maven项目下载插件eclipse.buildid=3.8.1.201607290850-release-e46 java.version

迷宫笔试题_wind小猫迷宫笔试题-程序员宅基地

文章浏览阅读648次。经典笔试迷宫、格子那种问题,以前一直懒得做这种题,终于笔试碰到了,只过了0.18,赶紧补一下。牛客:https://www.nowcoder.com/practice/cf24906056f4488c9ddb132f317e03bc?tpId=37&&tqId=21266&rp=1&ru=/activity/oj&qru=/ta/huawei/question-ranking定义一个二维数组N*M(其中2<=N<=10;2<=M<=_wind小猫迷宫笔试题

Pytorch极简入门教程(三)—— 入门实例_import torch import numpy as np import matplotlib.-程序员宅基地

文章浏览阅读253次。import pandas as pdimport torchimport numpy as npimport matplotlib.pyplot as pltfrom torch import nndata = pd.read_csv("dataset/Income1.csv")print("data.info:\t", data.info)X = torch.from_numpy(data.Education.values.reshape(-1, 1).astype(np.float32_import torch import numpy as np import matplotlib.pyplot as plt import panda

mysql之增删改查和集合操作_mysql删除集合-程序员宅基地

文章浏览阅读1k次。mysql学习创建表的时候 晋江加上 create_time字段,为create_time设置默认值CURRENT_TIMESTAMPCRUD操作Create( 增 )单条插入INSERT INTO 表名(字段1,字段2,...) VALUES(值1,值2,...)INSERT INTO class_1(name) VALUES('张三');多条插入INSERT INTO 表名(字段1,字段2,...) VALUES(值1,值2,...),(值1,值2,...)INSER_mysql删除集合

冻结训练和解冻训练的区别-程序员宅基地

文章浏览阅读1.2w次,点赞9次,收藏52次。深度学习中冻结训练和解冻训练的区别_冻结训练和解冻训练

c语言中多个并与条件,C语言有多个条件并存的执行规则-程序员宅基地

文章浏览阅读1.6k次。一条语句,如果有多个条件并存,对于:1、与判断:如果第一个条件不满足,立即退出-即不在对后续条件进行判断。依次类推。2、或判断:如果第一个条件满足,立即退出-即不在对后续条件进行判断。依次类推。这就是,“短路方式”。概括来说:第一个操作数能够确定表达式的值,第二个就不必计算了。首先,为了避免歧义,特此说明:我们不是讨论&&优先于||执行,我们讨论如果一个If中有多个&&am..._c语言多个并且语句怎么使用

随便推点

8051 MCU学习之分析单片机的启动过程_startup.a51 中断-程序员宅基地

文章浏览阅读8.4k次,点赞10次,收藏39次。接触单片机有几年的时间了,一直专注于如何在单片机上写一些应用,对单片机如何启动的知之甚少,惭愧惭愧。。。今天得空整理了一下,加深了对单片机的认识,如为什么定义data区里的变量重新开机的初始值为0。单片机在开机上电后,会执行startup.A51的指令,我分析了一下某个项目中这个文件里的指令,在这里单片机会做如下几件事情:初始化8051硬件堆栈的大小和堆栈指针;初始化中断向量表,分配每个中断的入_startup.a51 中断

Outlook-没有自动回复-使用规则创建外出邮件_outlook无法从服务器获得自动答复设置-程序员宅基地

文章浏览阅读2k次。使用规则创建外出邮件只有某些帐户类型才支持自动答复(外出)功能。 如果未看到“自动答复”按钮,则表示该电子邮件帐户不支持此功能。 但是,如果在外出期间让 Outlook 继续运行,则可使用规则自动答复电子邮件。 通过规则还可将电子邮件转发到另一帐户、将邮件标记为已读或自动将其移动到文件夹。 有关使用规则的详细信息,请参阅使用规则管理电子邮件。外出时使用规则答复收到的电子邮件在 Outlook​​ 中单击“文件”后,屏幕应如下所示:如果看到显示“自动答复”的按钮,请参阅从 Outloo_outlook无法从服务器获得自动答复设置

修改input框默认黄色背景-程序员宅基地

文章浏览阅读50次。input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-box-shadow:000px1000pxwhiteinset!important;background-color:rgb(0,0,0)!important;..._qupath-0.1.2.dmg怎么修改荧光通道颜色

android 斗鱼礼物动画,GitHub - zy841336855/RewardLayout: 仿斗鱼直播送礼物和连击效果动画...-程序员宅基地

文章浏览阅读283次。RewardLayout仿斗鱼送礼物效果本项目旨在提供实现参考,交流学习。关于我,欢迎关注有问题及时issue pr 或 email如果对你有点帮助的话,点个star哦~Screenshots效果展示: Getting startedAdd it in your root build.gradle at the end of repositories:allprojects {repositori..._android 礼物连击动画

你知道网速的发展史吗? 80年代的我们是这样上网的!_网络速度发展史-程序员宅基地

文章浏览阅读622次。你知道什么叫真正的拨号上网吗?_网络速度发展史

如何用python爬取天气预报,基于python网络爬虫天气_python爬虫天气预报-程序员宅基地

文章浏览阅读1k次,点赞16次,收藏19次。大家好,小编为大家解答python爬虫爬取天气数据讲解的问题。很多人还不知道如何用python爬取天气预报,现在让我们一起来看看吧!_python爬虫天气预报

推荐文章

热门文章

相关标签