我使用Java和MySQL构建了一个软件。 它的功能是接收图像并将它们存储到数据库(MySQL)中。 我这样做是为了便于备份。但现在我意识到数据库的压力正在增加。因此,我决定将当前在数据库中的所有图像转换为大约306行,以便在本地存储它们在系统上的路径。我该怎么做,以避免重新输入数据?
答案 0 :(得分:0)
检索所有图像并使用以下代码在本地保存:
使用SELECT image FROM TABLE
然后在LOOP中使用此代码
private static void save(BufferedImage image, String fileName,String ext) {
File file = new File(fileName + "." + ext);
try {
ImageIO.write(image, ext, file); // ignore returned boolean
} catch(IOException e) {
System.out.println("Write error for " + file.getPath() +
": " + e.getMessage());
}
}
private static BufferedImage toBufferedImage(Image src) {
int w = src.getWidth(null);
int h = src.getHeight(null);
int type = BufferedImage.TYPE_INT_RGB; // other options
BufferedImage dest = new BufferedImage(w, h, type);
Graphics2D g2 = dest.createGraphics();
g2.drawImage(src, 0, 0, null);
g2.dispose();
return dest;
}