将 InputStream 转换为 base64 字符串

新手上路,请多包涵

有一种方法可以将 InputStream 转换为 String ,并将其编码为 base64,对吗?

在我的函数中,我得到了 InputStream 参数,并且需要将它插入到我的 Oracle 数据库表中的 BLOB 字段中。

有没有办法做到这一点?

(我的数据库对象包含用于保存图像的字符串字段,但我找不到任何方法将 InputStream 转换为 base 64 格式的字符串。)

原文由 foo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.9k
2 个回答

有一个很好的方法是使用 IOUtils 将 InputStream 转换为 Byte Array

就像是

    InputStream is;
    byte[] bytes = IOUtils.toByteArray(is);

在这里,您可以使用 Base64Byte Array 转换为 String

示例代码

    String encoded = Base64.getEncoder().encodeToString(bytes);

现在您可以使用您的 String

原文由 Raj S. Rusia 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题