校验图片的原始格式
public void check(List<MultipartFile> fileList) throws IOException {
Tika tika = new Tika();
File tempFile = File.createTempFile("temp", null);
for (MultipartFile file : fileList) {
file.transferTo(tempFile);
String originalFilename = file.getOriginalFilename();
int dotIndex = originalFilename.lastIndexOf('.');
if (dotIndex > 0 && dotIndex < originalFilename.length() - 1) {
String fileExtension = originalFilename.substring(dotIndex + 1).toLowerCase();
System.out.println("表面类型" + fileExtension);
}
String mimeType = tika.detect(tempFile);
String fileType = mimeType.substring(mimeType.lastIndexOf("/") + 1);
System.out.println("原始类型" + fileType);
System.out.println("----------------");
}
}
使用了tika的detect方法来检测。
测试过后大多数类型是可以检测出原始类型,但是jpg和jpeg, tif和tiff 这两对格式是分辨不出来的。