图片上传页未做控制,导致上传的是GIF格式,导致图片识别失败。需要将GIF格式转为JPEG格式。
代码,是找AI写的,记录一下:
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageConverter {
public static void main(String[] args) {
// GIF图片目录
String inputDirPath = "D:\\桌面\\tima\\bbb";
// JPEG输出目录
String outputDirPath = "D:\\桌面\\tima\\ccc";
// 先清空输出目录
File outputDir = new File(outputDirPath);
File[] outputFiles = outputDir.listFiles();
if (outputFiles != null) {
for (File outputFile : outputFiles) {
if (outputFile.isFile()) {
outputFile.delete();
}
}
}
// 获取输入目录下的所有文件
File inputDir = new File(inputDirPath);
File[] inputFiles = inputDir.listFiles();
if (inputFiles != null) {
for (File inputFile : inputFiles) {
if (inputFile.isFile()) {
try {
// 创建BufferedImage对象
BufferedImage image = ImageIO.read(inputFile);
// 创建输出文件路径
String outputFilePath = outputDirPath + "/" + inputFile.getName().replaceFirst("[.][^.]+$", "");
// 将BufferedImage对象写入输出文件,JPEG格式
File outputFile = new File(outputFilePath);
ImageIO.write(image, "jpeg", outputFile);
// 删除原文件
if (inputFile.delete()) {
System.out.println("删除原文件,成功: " + inputFile.getName());
} else {
System.out.println("删除原文件,失败: " + inputFile.getName());
}
System.out.println("转换成功: " + inputFile.getName());
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
}