HTML - 不正确的媒体类型仍然正确显示 base64 图像

HTML - Incorrect media type still correctly displays a base64 image

我的网页显示来自 base64 字符串的图像。

即使我输入了错误的媒体类型,图像仍然可以正确呈现(我使用的是 Firefox)。例如:

src="data:incorrect;base64, ...base 64 string..."

有什么原因吗?

此外,我无法提前知道要显示的图像格式(因为它们是由用户上传的),所以我应该简单地使用 image 作为媒体类型吗?

格式为:

 data:{mimeType};base64,{code}

mimeType 可能是:

data:text/html
data:text/javascript,Javascript
data:image/png;base64 
data:image/jpeg;base64 

只有 {code} 用于图像。

事实上,如果你使用

<img src=a.jpg>

可以显示,即使您将分机更改为 a.asp

<img src=a.asp>

图像仍然可以显示。

有些病毒可以用这个方法,但是我觉得当base64字符串的时候,“;”的数据没有被使用,你可以直接拆分“;”它并且只得到{code}

现代浏览器可能会显示一些常见的图像类型,例如 jpeg、png 等,但没有正确的 mime 类型。但是 SVG 形式的图像和所有图像都不会被浏览器识别出正确的 mime 类型。所以最好使用正确的 mime 类型,即使它在没有正确的 mime 的情况下也能为你工作。