作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们网站上有一个小功能,允许用户上传个人资料照片。然后这张图片将作为 base-64 编码字符串存储在我们的 Postgres 数据库中。我的问题涉及 <img>
中使用的数据方案呈现 base-64 编码字符串的 URL,例如
<img src="data:image/gif;base64,iVBORw0KGgo ...">
^^^ but what if we don't know the extension?
我们计划只存储一个 base-64 blob,不存储任何其他内容。但是在这种情况下,我们怎么知道原始文件中使用了什么扩展名呢?我已经简要测试了 Chrome 和 IE 10,它们似乎很乐意打开带有任何图像扩展名的 PNG 文件,例如甚至 data:image/zzz
似乎工作。但我在其他地方读到过某些图像格式,例如TIFF,必须给出正确的扩展名。
如果具有正确的扩展名,则必须在 <img>
中呈现 base-64 字符串标记,那么这是否意味着除了 base-64 字符串本身之外,我们还需要将文件扩展名发送到 UI?
最佳答案
我将提供这个作为我自己问题的部分答案。事实证明,大多数 base 64 库和工具实际上会自动生成编码字符串的 data:image/ext
部分,以及实际的 base64
数据。因此,至少对于我们的生产设置来说,知道扩展是一个有争议的问题,因为我们使用的 Apache 库会自动处理这个问题。
关于image - 如何在不知道扩展名的情况下在 <img> 标签中呈现 base-64 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41136119/
我是一名优秀的程序员,十分优秀!