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

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?

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小巫技术博客

Android多模块构建合并aar解决方案

1.1K30
来自专栏gaoqin31

CentOS 7.0网络配置

企业级Linux发行版CentOS安装过后默认是没有开启网络连接服务的,必须手动启动后才能使用网络服务。最新版CentOS 7.0安装后网络配置文件在/etc/...

1.7K20
来自专栏黑泽君的专栏

【MyEclipse】我们导入的jar包后, 一般没有关联源码, 需要手动进行关联!推荐这种方式。

12350
来自专栏云计算教程系列

如何在Ubuntu 16.04上将Redis服务器设置为PHP的会话处理程序

Redis是一个开源键值缓存和存储系统,由于其对多种数据类型(如散列,列表,集合和位图等)的高级支持,也称为数据结构服务器。它还支持群集,使其在高度可用和可扩展...

16130
来自专栏雪胖纸的玩蛇日常

使用Navicat for MySQL把本地数据库上传到服务器

54420
来自专栏java沉淀

Centos 7下安装mysql

·mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz

1K190
来自专栏雨过天晴

原 PHPStrom 9系列激活码

25040
来自专栏linux系统运维

Linxu的救援模式

24650
来自专栏云计算教程系列

如何在CentOS 7上用mod_proxy将Apache设置为反向代理

反向代理是一种代理服务器,它接受HTTP(S)的请求后,把它们发送到一个或多个后端服务器。反向代理非常有用,因为许多现代网络应用使用后端应用程序服务器处理传入的...

37630
来自专栏IT杂记

Windows下jps, jconsole无法查看本地java进程问题解决

先通过本地java代码运行: System.out.println(System.getProperties()); 查看属性java.io.tmpdir=C:...

35160

扫码关注云+社区

领取腾讯云代金券