生成图像的 Base64 字符串以在数据 URI 中使用

2024-02-03

如何生成图像的 Base64 字符串以在数据 URI 中使用?

我有一个 Base64 图像编码问题,希望有人可以帮助解决。我正在尝试在我的网页中使用数据 uri(即<img src="data:image/png;base64,iVBORw..."/> with org.apache.commons.codec.binary.Base64v1.8 生成png图像的base64字符串。

为了生成我使用的 base64 字符串:

Base64.encodeBase64URLSafeString(imageFile)

问题是浏览器无法渲染图像。我将这个生成的字符串与有效的字符串进行了比较,我注意到区别在于 Apache Base64 版本具有“_”和“-”字符,而不是“/”和“+”。从互联网上我看到有不同的 Base64 格式,所以我假设 Apache 的实现与浏览器不兼容。

所以我想知道是否有一个实现 base64 格式的库适合我的目的?我当前的解决方案是仅替换字符,但我宁愿使用库。


根据 javadocBase64.encodeBase64URLSafeString http://commons.apache.org/proper/commons-codec/apidocs/org/apache/commons/codec/binary/Base64.html#encodeBase64URLSafe%28byte%5B%5D%29方法,这似乎是设计使然。查看我提供的链接,它在 javadoc 中这样说:

使用 Base64 算法的 URL 安全变体对二进制数据进行编码,但不会对输出进行分块。url 安全变体发出 - 和 _ 而不是 + 和 / 字符。注意:没有添加填充。

因此,您需要确保使用 url-unsafe 变体。这就是所谓的方法Base64编码 http://commons.apache.org/proper/commons-codec/apidocs/org/apache/commons/codec/binary/Base64.html#encodeBase64%28byte%5B%5D%29。请改用此方法:

Base64.encodeBase64(imageFile)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

生成图像的 Base64 字符串以在数据 URI 中使用 的相关文章

随机推荐

  • ng 未被识别为内部或外部命令

    运行 Windows 7 Professional 32 位 I tried running npm install g angular cli both under normal or admin I also tried adding
  • Spring oauth2 hasRole 访问被拒绝

    我对 OAuth2 非常陌生 并尝试在角色 auth server 中构建一台服务器来授权用户 并构建一台保留受保护资源的服务器 我在使用 ResourceServerConfigurerAdapter 时遇到了一些问题 看起来他忽略了从
  • Haskell Random 无法构造无限类型:a1 = IO a1

    我想用 Haskell 生成一个包含 26 个随机整数的列表 其总和为 301 我写下以下内容 import System Random f 1 sum sum f n sum m f n 1 sum m where m randomRIO
  • Bash 忽略特定命令的错误

    我正在使用以下选项 set o pipefail set e 在 bash 脚本中出现错误时停止执行 我有大约 100 行脚本正在执行 我不想检查脚本中每一行的返回代码 但对于一个特定的命令 我想忽略该错误 我怎样才能做到这一点 解决方案
  • 在 iPhone 邮件应用程序上绘制蓝色“未读点”

    有谁有如何绘制苹果邮件应用程序中使用的蓝色 未读点 的示例吗 这个具体来说 使用 Quartz2d 绘制椭圆很简单 但阴影 渐变的巧妙使用使这看起来真正的 3D 我认为邮件中的蓝点实际上是一个图像 我认为位图传送图像会比绘制渐变更快
  • 并行处理批次项目

    我有一个 ItemGroup 并且想要并行处理其所有项目 使用自定义任务或 exe 我可以编写我的任务 exe 来接受整个 ItemGroup 并在内部并行处理其项目 但是 我希望这种并行性能够与 MSBuild 结合使用 maxCpuCo
  • Selenium 缓慢向下滚动

    我正在尝试使用 Python 在 javascript 渲染的网页上进行动态网页抓取 1 但是 只有当我缓慢向下滚动页面时 才会加载元素 我努力了 driver execute script window scrollTo 0 Y 这不起作
  • 如何对 numberDisplay 的所有值求和,不包括类别

    我有一组数据 我想默认将过滤器应用到 numberDisplay 数据是这样的 data category A value 10 category B value 10 category C value 10 category S valu
  • 检查 linq 中的字符串是否为 null 或为空

    我有一个带有空格的字符串 string MyNote Convert ToString Session MyNote if MyNote null MyNote 如果字符串有更多空间 MyNote 不起作用 所以 如何在 C 中使用 lin
  • 从非模板参数化方法返回模板类型

    为了定义模板类 我考虑了三个不同的文件 该声明位于 h文件中 方法实现位于 cpp文件 并且显式实例化包含在 inc文件 通过在 cpp 末尾添加一行 例如 include bar impl inc 现在 这是我的问题 我有两个模板类 例如
  • ActiveMQ从java中删除队列

    如何从java程序中删除activemq中的队列 有类似 session delelteQueue 的东西吗 谢谢M 简单的解决方案 不使用 JMX 将连接转换为 ActiveMQConnection 并使用其 destroyDestina
  • 寻求报告服务认证建议

    我被分配负责修订当前的报告服务验证流程 目的是保持必要的安全级别 并简化授予对各个报告的访问权限的维护 配置 我无权访问域控制器来修改或创建新的 AD 组 我必须与当前存在的组 用户合作 在身份验证方面 我似乎可以选择使用以下任一方法 Wi
  • -Webkit滚动条+溢出+JQuery滚动顶部始终返回零

    我一整天都在研究这个错误 但无法解决它 有一个 JQuery scrollTop 动画脚本 它检测 window scrollTop 值并执行一些动画 如果单击按钮滚动回顶部 this click 函数 html body animate
  • C 中的守护进程 - 有没有一种方法可以实现它们?

    我有一个关于 C 中守护进程的一般性问题 但到目前为止我还没有看到答案 有没有一种方法可以实现对守护进程的控制 例如约定或标准 休息是进一步的解释 我看过多个文档 教授如何在 C 中创建守护进程的基础知识 分叉 关闭文件描述符 更改根目录等
  • 下载文件存储位置和处理使用selenium webdriver和JAVA下载弹出窗口

    请提出一个想法 并进行以下几点实施 1 how to handle the Download popup in IE with Selenium Webdriver with JAVA 2 如何使用JAVA将该xml文件存储在不同的位置 注
  • “响应?”与“响应缺失?”

    定义的意义何在respond to missing 而不是定义respond to 如果重新定义会出现什么问题respond to 某堂课 Without respond to missing http ruby doc org core
  • bash - 导出不起作用

    我错过了一些非常基本的东西 在 Mac OS X 下 我尝试过 chmod 0777 setdir bsh 一定是我的设置有问题 bin bash export proj Users RParadox projects testprojec
  • JButton 文本的抗锯齿

    我在用着字体真棒 http fortawesome github io Font Awesome icon arrow circle left 在 JButton 中创建可单击的图标 但是当尺寸较小时 生成的图标会出现别名 只是作为一点背景
  • 架构 x86_64 的 1 个重复符号

    我不确定我做错了什么 我将项目文件夹移动到另一个文件夹 并将备份文件夹复制到桌面 我尝试打开备份项目并构建 但收到链接器错误 因此 我决定删除备份文件夹并将项目文件夹移回桌面 我无法再编译并收到以下错误 Showing Recent Iss
  • 生成图像的 Base64 字符串以在数据 URI 中使用

    如何生成图像的 Base64 字符串以在数据 URI 中使用 我有一个 Base64 图像编码问题 希望有人可以帮助解决 我正在尝试在我的网页中使用数据 uri 即 img src with org apache commons codec