在 JAVA 中将 base64 图像转换为 Sql Blob
convert base64 Image to Sql Blob in JAVA
我正在尝试将 Base64 转换为 JAVA 中的 Blob,到目前为止我已经开发了这段代码并且它正在运行但它不是 blob:
public static BufferedImage decodeToImage(String imageString) {
BufferedImage image = null;
byte[] imageByte;
try {
BASE64Decoder decoder = new BASE64Decoder();
imageByte = decoder.decodeBuffer(imageString);
ByteArrayInputStream bis = new ByteArrayInputStream(imageByte);
image = ImageIO.read(bis);
bis.close();
} catch (Exception e) {
e.printStackTrace();
}
return image;
}
我想我必须将 bufferedImage 转换为 byteArray 吗?我怎样才能改进我的代码?如果我什至不接近我怎么能做对呢?
也许您需要 SerialBlob?像这样:
import javax.sql.rowset.serial.SerialBlob;
.
.
.
public static SerialBlob decodeToImage(String imageString) {
BASE64Decoder decoder = new BASE64Decoder();
byte[] imageByte = decoder.decodeBuffer(imageString);
return new SerialBlob(imageByte);
}
这是我针对我的问题的有效解决方案:
我必须将我的 Base64 String
图片转换为 byte[]
:
public static byte[] Base64ToBytes(String imageString) throws IOException {
BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(imageString);
return decodedBytes;
}
希望这会对其他人有所帮助。
我正在尝试将 Base64 转换为 JAVA 中的 Blob,到目前为止我已经开发了这段代码并且它正在运行但它不是 blob:
public static BufferedImage decodeToImage(String imageString) {
BufferedImage image = null;
byte[] imageByte;
try {
BASE64Decoder decoder = new BASE64Decoder();
imageByte = decoder.decodeBuffer(imageString);
ByteArrayInputStream bis = new ByteArrayInputStream(imageByte);
image = ImageIO.read(bis);
bis.close();
} catch (Exception e) {
e.printStackTrace();
}
return image;
}
我想我必须将 bufferedImage 转换为 byteArray 吗?我怎样才能改进我的代码?如果我什至不接近我怎么能做对呢?
也许您需要 SerialBlob?像这样:
import javax.sql.rowset.serial.SerialBlob;
.
.
.
public static SerialBlob decodeToImage(String imageString) {
BASE64Decoder decoder = new BASE64Decoder();
byte[] imageByte = decoder.decodeBuffer(imageString);
return new SerialBlob(imageByte);
}
这是我针对我的问题的有效解决方案:
我必须将我的 Base64 String
图片转换为 byte[]
:
public static byte[] Base64ToBytes(String imageString) throws IOException {
BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(imageString);
return decodedBytes;
}
希望这会对其他人有所帮助。