我试图将图像文件保存到我的项目文件夹。镜像文件来自数据库。它是一个maven项目和rest web服务。我没有任何servlet。这是我的代码,但它保存在eclipse文件夹。
byte[] imgData = null;
Blob img = null;
img = resultset.getBlob("LOGO");
imgData = img.getBytes(1, (int) img.length());
BufferedImage img2 = null;
img2 = ImageIO.read(new ByteArrayInputStream(imgData));
File outputfile = new File("birimler/"+resultset.getString("BASLIK")
+ "Logo.png");
outputfile.mkdirs();
ImageIO.write(img2, "png", outputfile);
System.out.println(outputfile.getAbsolutePath());
输出为:/Users/xxx/Documents/eclipse/Eclipse.app/Contents/MacOS/birimler/imageLogo.png
谢谢你的帮助!
这是因为eclipse工作目录是他的安装目录。提供一个完整的绝对路径,或者更改运行配置的工作目录。
File outputfile = new File("/birimler/"+resultset.getString("BASLIK")
+ "Logo.png");
会以
结尾"/birimler/imageLogo.png "
再加一个斜杠:
File outputfile = new File("/birimler/"+resultset.getString("BASLIK")
+ "/Logo.png");
将产生:
"/birimler/图像/Logo.png"