首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将BufferedImage对象转换为InputStream或BLOB?

将BufferedImage对象转换为InputStream或BLOB的方法如下:

  1. 将BufferedImage对象转换为InputStream:
代码语言:java
复制
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;

public class BufferedImageToInputStream {
    public static InputStream convert(BufferedImage bufferedImage, String format) throws IOException {
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        ImageIO.write(bufferedImage, format, byteArrayOutputStream);
        InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
        return inputStream;
    }
}
  1. 将BufferedImage对象转换为BLOB:
代码语言:java
复制
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.imageio.ImageIO;

public class BufferedImageToBLOB {
    public static void convert(BufferedImage bufferedImage, String format, String jdbcUrl, String user, String password) throws IOException, SQLException {
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        ImageIO.write(bufferedImage, format, byteArrayOutputStream);
        InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
        Connection connection = DriverManager.getConnection(jdbcUrl, user, password);
        String sql = "INSERT INTO your_table_name (your_blob_column) VALUES (?)";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setBlob(1, inputStream);
        preparedStatement.executeUpdate();
        preparedStatement.close();
        connection.close();
    }
}

其中,your_table_nameyour_blob_column分别表示你要插入数据的表名和BLOB列名。

注意:在使用这些代码时,请确保已经正确配置了数据库连接信息和表结构。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

aspose-words java word 转换 服务器乱码解决 - 崔笑颜的博客

aspose-words word图片 这里所用到的jar包 和这里所用的的一样 jar包下载 和谐文件 将word转换为单张图片 // 将word 转化为图片一张 public static...e) { e.printStackTrace(); } return result; } // outputStreaminputStream public static ByteArrayInputStream...isHorizontal) { // 水平方向合并 destImage.setRGB(wx, 0, w1, h1, ImageArrayOne, 0, w1); // 设置上半部分左半部分的...} else { // 垂直方向合并 destImage.setRGB(0, wy, w1, h1, ImageArrayOne, 0, w1); // 设置上半部分左半部分的...(); return "转换成功"; } 图片转换为base64 前台预览 业务需求 word转换成在线预览 结合这里是word图片 也可以直接转换为在线预览 public static

3.6K10

Java 实现 markdownImage

思路 有不少的库可以将 markdown 转为 html,那么这个需求就可以转为 htmlImage了 1. markdown html 可以参看之前的博文《Java 实现 markdown...Html》 2. html 图片 主要的核心问题就在这里了,如何实现html图片?...html.toString())); return new Html2ImageWrapper(options); } } } 上面的实现,有个需要注意的地方 如何将...html格式的字符串,转为 Document 对象 利用了开源工具 nekohtml, 可以较好的实现html标签解析,看一下DOMParse 的初始化过程 private static DOMParser...因为生成的图片特别特别长,所以就不贴输出的图片了,有兴趣的同学可以下载工程,实际跑一下看看 源markdown文件地址: https://github.com/liuyueyi/quick-media/blob

2K50

Java 操作 Office:POI之word图片处理

一 背景问题 本系列旨在分享一些word操作框架POI的一些使用技巧,系统学习可直接参考官方文档,上一篇中提到的Apache POI Word(docx) 入门示例教程。...对于图片输入,addPicture要求的参数是InputStream,而我们上面的图片处理结果,是BufferedImage。显然是无法直接插入到word的Cell中的。那么该怎么办?...两种方法,要么另寻出路,看是否有图片处理完成的结果是InputStream;要么就是想办法把BufferedImage转成InputStream。...4.2 代码实现与示例 将BufferedImage换为InputStream,亲测可用 这篇文章就给出了解决方法,所以采用了这段代码加以实现: /** * 将BufferedImage换为...InputStream * @param image * @return */ public static InputStream bufferedImageToInputStream(BufferedImage

1.5K30

java:构建ImageInputStream利用ImageReader对内存字节流进行图像解码

javax.imageio.ImageIO.read方法有多个重载方法,支持File,InputStream,URL等参数,但这些方法有可能会在解码过程中使用文件系统做cache,具体原因这里不展开讲了...} * @throws IOException * 当读写错误不识别的格式时抛出 */ public static final BufferedImage...MemoryCacheImageInputStream(new ByteArrayInputStream(imgBytes)); // 获取所有能识别数据流格式的ImageReader对象...Iterator it = ImageIO.getImageReaders(imageInputstream); // 迭代器遍历尝试用ImageReader对象进行解码...} 代码中提供了两个方法来实现内存解码(readMemoryImage和readMemoryImage1),共同点就是都要基于byte数组构建一个MemoryCacheImageInputStream对象作为

1.4K10

java:图像(BufferedImage)色彩空间转换(灰度)暨获取图像矩阵数据byte[](sRGBgray)

顾名思义,它的作用就是将一个色彩空间(color space)的图像转换为另一个色彩空间的图像。有了这个神器我们就能轻易的将一张彩色图你像转换成灰度(gray)其他色彩空间图像。...Raster.getDataElements 有时我们通过ImageIO得到解码后的图像数据对象(BufferedImage)以后,需要获取图像矩阵的裸数据(即一个存储图像数据的byte数组)。...通过getRGB()源码可以知道BufferedImage对象中真正的图像数据是由成员对象raster(java.awt.image.WritableRaster)管理。...*/ public static byte[] getMatrixGray(BufferedImage image) { // 灰度图像...=BufferedImage.TYPE_3BYTE_BGR){ // sRGB格式 BufferedImage rgbImage = new BufferedImage

2.3K20
领券