指定 html 链接的 MIME 类型

今天遇到一个这样的问题,在网页里面如果我们向提供一个 pdf 的链接:

<a href="PATH_TO_ATTACHMENT/file.pdf">查看pdf</a>

这样子,因为浏览器会根据目标的扩展名自动判断 MIME 类型,然后点击这个超链接会导致其在另一个网页中直接打开浏览 pdf。

但是我们可能同时还需要下载 pdf,这个时候,我们可能希望在一个链接上面指定目标(静态文件)的 MIME 类型。

在 stackoverflow 上面找到这个解决方案:

http://stackoverflow.com/q/2110269/2544762

作为 HTML5 的标准,可以指定一个 download 属性,然后点击这个链接的静态文件就会返回 application/octet-stream 的 MIME 类型,从而触发强制指定的下载方式打开文件。

解决方案中还提到,可以在 <a> 标签里面加入 type 属性来提示指定的 MIME 类型,但是浏览器不一定实现对其的支持,具体看上面的 stackoverflow 帖子。

当然,如果真的需要指定一个比较特殊的 MIME,最稳定有效的解决办法还是指向一个动态的请求,然后直接控制 HTTP 头部进行指定,这里展示的问题只是如何对静态文件进行处理。


【转载请附】愿以此功德,回向 >>

原文链接:https://www.huangwenchao.com.cn/2014/12/anchor-mime.html【指定 html 链接的 MIME 类型】

发表评论

电子邮件地址不会被公开。 必填项已用*标注