使用<a href="data; ... ">显示图像是否安全?

Col*_*len 13 html base64 image

我已经了解到可以在HTML页面中嵌入图像,而不是链接到单独的图像文件:

<a href="data:image/png;base64,...(blah blah base64-encoded png goes here)..."
  width="70" height="38" alt="image embedded using base64 encoding!"></a>
Run Code Online (Sandbox Code Playgroud)

这是"安全的",因为所有现代浏览器都能够查看图像,只要我坚持像PNG/JPG这样的常见格式吗?是否有任何缺点,除了base64编码图像增加图像大小一点?

谢谢.

Ode*_*ded 16

是的,这是安全的 - 所有主流浏览器都支持数据URI方案.

一个缺点是,如果您在页面中多次使用相同的图像,它将被编码几次而不是下载一次.

另一个是某些浏览器强加的大小限制(IE 8仅允许最多32k).

您也可以在CSS中使用它来缓解下载问题.

  • 呃,那个大小的限制让我感到震惊.:(感谢您的链接,非常有用. (2认同)