相关疑难解决方法(0)

Java将图像转换为输入流而不创建文件

对于我正在处理的applet,我需要将BufferedImage文件转换为输入流,以便我可以将图像上传到我的MySQL服务器.最初我使用的是这段代码:

Class.forName("com.mysql.jdbc.Driver").newInstance();  
Connection connection = 
    DriverManager.getConnection(connectionURL, "user", "pass");  

psmnt = connection.prepareStatement(
    "insert into save_image(user, image) values(?,?)");  
psmnt.setString(1, username);  

ImageIO.write(image, "png", new File("C://image.png")); 
File imageFile = new File("C://image.png");
FileInputStream fis = new FileInputStream(imageFile);

psmnt.setBinaryStream(2, (InputStream)fis, (fis.length()));
int s = psmnt.executeUpdate();

if(s > 0) {
  System.out.println("done");
}
Run Code Online (Sandbox Code Playgroud)

(同时捕获相关的异常)代码挂起在applet尝试将图像保存到计算机的部分.代码在Eclipse中完美运行,或者每当我从localhost运行applet时,我都认为问题在于applet将文件保存到用户计算机的权限.

我只是想知道是否有办法将图像文件转换为输入流而无需将文件保存到用户的计算机.我试过用:

ImageIO.createImageInputStream(image);
Run Code Online (Sandbox Code Playgroud)

但我不能转换ImageInputStream回的InputStream.有什么建议?

谢谢!

java image

15
推荐指数
1
解决办法
4万
查看次数

如何将BufferedImage转换为InputStream?

我正在使用servlet上传图像.要执行调整大小操作,我将InputStream转换为BufferedImage.现在我想将它保存在mongoDB中.因为,据我所知,我是mongoDB的新手,GridFS采用InputStream.

那么,有没有办法将BufferedImage转换为InputStream?

java bufferedimage inputstream

13
推荐指数
3
解决办法
3万
查看次数

标签 统计

java ×2

bufferedimage ×1

image ×1

inputstream ×1