将 mime 类型添加到 HTML 链接

发布于 2024-08-18 20:38:49 字数 368 浏览 9 评论 0原文

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

这就是我想看到的:

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

I know how to change the MIME type in a webserver. I used this to make sure the browser downloads my .scrpt file instead of opening the plain text version. So far so good but is it possible to do the same with a link? I would like to link to a file on GitHub but this will open as a plain text file. Can I add a "MIME type attribute" to the link to tell the browser to download the file?

This is what I would like to see:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

要走就滚别墨迹 2024-08-25 20:38:49

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

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

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

Time to answer my own question. This is a really old question and it probably wasn't possible at the time but lots has changed since then. The HTML5 spec added the download attribute:

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

This will do exactly what I need, tell the browser to download the file instead of opening it. Thanks to Jonathan Svärdén for solving my years old question!

一杆小烟枪 2024-08-25 20:38:49

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

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

除此之外,不,你不能。

You can specify a type attribute, but the content-type sent by the server is authoritative.

This attribute gives an advisory hint as to the content type of the content available at the link target address. It allows user agents to opt to use a fallback mechanism rather than fetch the content if they are advised that they will get content in a content type they do not support.

Other than that, no, you can't.

神爱温柔 2024-08-25 20:38:49

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

Can you set up a middleman script which downloads the file in question to the server, then uploads it to the user with a different MIME type?

定格我的天空 2024-08-25 20:38:49

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

HTML is not concerned about the HTTP response headers. This is absolutely a server-side problem, which has to be solved in the HTTP repsonse headers before the HTTP reponse body(/content?) is sent. Without a scripting language like Ruby or PHP there is nothing you can do.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文