【发布时间】:2011-08-18 20:41:07
【问题描述】:
我了解到可以像这样在 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>
这是否“安全”,因为所有现代浏览器都能够查看图像,只要我坚持使用 PNG/JPG 等常见格式吗?除了对图像进行base64编码会增加图像大小之外,还有什么缺点吗?
谢谢。
【问题讨论】:
-
为什么要使用它而不是引用服务器上的图像?
-
我们正在生成一个包含图像的 HTML 文件 - 最好将图像嵌入文件中,因此用户只需移动一个文件,而不是移动文件并关联当他们想要传输或上传图像时。
-
@MichaelD 你听说过私人图片吗?如果您想对图像请求进行身份验证,当前的 Web 规范无法做到这一点。
和 标签不提供设置身份验证标头的方法,cookie 已成为过去。因此,您别无选择,只能进行这种荒谬的数据 URI 黑客攻击。