Asi*_*sif 9 java blob inputstream
我试图将用户上传的图像存储到具有LONGBLOB属性的数据库中...我遇到了一个问题,PreparedStatement其中有两个方法来设置blob:
public void setBinaryStream(int parameterIndex, InputStream x)
public void setBlob(int parameterIndex, Blob x)
public void setBlob(int parameterIndex, InputStream inputStream)
现在的问题是我有一个BufferedImage必须转换成Blob或InputStream上传的对象......
如何在不丢失原始图像格式或质量的情况下执行此操作?
aio*_*obe 29
如何在不丢失原始图像格式或质量的情况下执行此操作?
您需要使用一些适当的(无损)格式保存它.该PNG格式是一种选择.
本ImageIO类有写出的图像输出流的方法.
这里有一个完整的例子,说明如何掌握一个InputStream,你可以从中读取内容的PNG表示BufferedImage:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bufferedImage, "png", baos);
InputStream is = new ByteArrayInputStream(baos.toByteArray());
Run Code Online (Sandbox Code Playgroud)