33

我知道如何更改网络服务器中的 MIME 类型。我用它来确保浏览器下载我的 .scrpt 文件而不是打开纯文本版本。到目前为止一切顺利,但是否可以对链接做同样的事情?我想链接到 GitHub 上的文件,但这将作为纯文本文件打开。我可以在链接中添加“MIME 类型属性”来告诉浏览器下载文件吗?

这是我想看到的:

<a mimetype="application/octet-stream" href="http://gist.github.com/raw/279094/39d5a2c1037288d5ee0ba1a17dca9edb368bbe42/RepairiPhotoDates.scpt">download</a>
4

4 回答 4

43

是时候回答我自己的问题了。这是一个非常古老的问题,当时可能不可能,但从那时起发生了很多变化。HTML5 规范添加了该download属性:

<a href="hugepdf.pdf" download>Download file</a>

这将完全满足我的需要,告诉浏览器下载文件而不是打开它。感谢Jonathan Svärdén解决了我多年前的问题!

于 2013-04-24T14:05:21.237 回答
15

你可以指定一个type 属性,但是服务器发送的 content-type 是权威的。

此属性提供有关链接目标地址处可用内容的内容类型的建议提示。它允许用户代理选择使用回退机制而不是获取内容,如果他们被告知他们将获得他们不支持的内容类型的内容。

除此之外,不,你不能。

于 2010-01-21T15:16:26.030 回答
1

您可以设置一个中间人脚本,将相关文件下载到服务器,然后将其上传给具有不同 MIME 类型的用户吗?

于 2010-01-21T15:24:09.743 回答
0

HTML 不关心 HTTP 响应标头。这绝对是一个服务器端问题,必须在发送 HTTP 响应正文(/content?)之前在 HTTP 响应标头中解决。如果没有像 Ruby 或 PHP 这样的脚本语言,您将无能为力。

于 2010-01-21T15:21:13.720 回答