将 InputStream 转换为 base64 字符串
有一种方法可以将 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
相关文章