【问题标题】:How to override/force the mime type of an image with only html?如何仅使用 html 覆盖/强制图像的 mime 类型?
【发布时间】:2015-08-11 21:22:44
【问题描述】:

我有一个带有 png 扩展名的图像文件,其中 http 服务器返回的 mime 类型是 png 的类型。但是,该图像是 svg 图像,所有浏览器都将其解释为 png。
我不管理服务器,我只能上传带有 png 扩展名的文件。

如何覆盖服务器返回的 mime 类型?我尝试了contenttypeattribute 和image/svg+xml,但没有任何改变。 JavaScript 被剥离。

【问题讨论】:

  • 你不能。您无法在 html 中将链接标记为特定的 mime 类型,因为 mime 类型是通过 SERVER 在检索资源时发出的 Content-type 标头设置的。
  • @MarcB 嘿,但 html 中有一个headerattribute。但是,我找不到如何使用它。如果我直接打开 url,ie 也能够检测到正确的文件类型。
  • 你的意思是<meta http-equiv=...?仅设置元标记所在页面的标题。它不能/不会应用于您从元标记页面单击的任何页面。
  • @MarcB no 我在 html 属性白名单中看到了消毒剂有header=
  • 那是表格单元格,与链接无关。你可以试试<a href="foo.png" type="image/svg+xml">,但 type 属性应该是严格建议的,不应该影响浏览器如何处理链接的内容。

标签: html html-sanitizing


【解决方案1】:

您是否尝试过使用<object> 标签代替<img>

<object type="image/svg+xml" data="image.png"></object>

【讨论】:

  • 只允许使用带有表格的 img 标签和 div。然而,允许的属性集相当广泛。
猜你喜欢
  • 1970-01-01
  • 2017-03-04
  • 2011-02-20
  • 2011-03-02
  • 2010-09-10
  • 2011-01-21
  • 2016-08-23
  • 2022-08-06
相关资源
最近更新 更多