有一种方法可以将 InputStream
转换为 String
,并将其编码为 base64,对吗?
在我的函数中,我得到了 InputStream
参数,并且需要将它插入到我的 Oracle 数据库表中的 BLOB 字段中。
有没有办法做到这一点?
(我的数据库对象包含用于保存图像的字符串字段,但我找不到任何方法将 InputStream
转换为 base 64 格式的字符串。)
原文由 foo 发布,翻译遵循 CC BY-SA 4.0 许可协议
有一种方法可以将 InputStream
转换为 String
,并将其编码为 base64,对吗?
在我的函数中,我得到了 InputStream
参数,并且需要将它插入到我的 Oracle 数据库表中的 BLOB 字段中。
有没有办法做到这一点?
(我的数据库对象包含用于保存图像的字符串字段,但我找不到任何方法将 InputStream
转换为 base 64 格式的字符串。)
原文由 foo 发布,翻译遵循 CC BY-SA 4.0 许可协议
有一个很好的方法是使用 IOUtils
将 InputStream 转换为 Byte Array
…
就像是
InputStream is;
byte[] bytes = IOUtils.toByteArray(is);
在这里,您可以使用 Base64
将 Byte Array
转换为 String
。
示例代码
String encoded = Base64.getEncoder().encodeToString(bytes);
现在您可以使用您的 String
。
原文由 Raj S. Rusia 发布,翻译遵循 CC BY-SA 3.0 许可协议
8 回答6.5k 阅读
4 回答688 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答962 阅读✓ 已解决
您可以使用 Base64 API 尝试类似的操作。
用这个:
http://commons.apache.org/proper/commons-codec/archives/1.9/apidocs/org/apache/commons/codec/binary/Base64.html