将 InputStream 转换为 base64 字符串

2022-01-21 00:00:00 string base64 java inputstream

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

There is a way to convert an InputStream to a String, and encode it to base64, right?

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

In my function, I get InputStream parameter, and need to insert it into the BLOB field in my Oracle database table.

有没有办法做到这一点?

Is there a way to do that?

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

(My database object contains string field to save the image, but I don't find any way to convert the InputStream to string in base 64 format.)

推荐答案

您可以使用 Base64 API 尝试类似的操作.

You can try something like this using the Base64 API.

InputStream finput = new FileInputStream(file);
byte[] imageBytes = new byte[(int)file.length()];
finput.read(imageBytes, 0, imageBytes.length);
finput.close();
String imageStr = Base64.encodeBase64String(imageBytes);

使用这个:

http://commons.apache.org/proper/commons-codec/archives/1.9/apidocs/org/apache/commons/codec/binary/Base64.html

相关文章