java 后台获取文件上传的真实扩展名
package common.util;
import java.io.File;
import org.apache.commons.io.FileUtils;
import org.apache.tika.Tika;
import org.apache.tika.mime.MimeTypes;
public class ExtUtil {
public static String getExt(byte[] bts) {
try {
Tika tika = new Tika();
String fileType = tika.detect(bts);
return MimeTypes.getDefaultMimeTypes().forName(fileType).getExtension();
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
public static void main(String[] args) throws Exception {
String path = "C:\\Users\\Administrator\\Desktop\\format_img\\a.xls";
File f = new File(path);
byte[] ext = FileUtils.readFileToByteArray(f);
System.out.println(getExt(ext));
}
}
所需jar包maven坐标
org.apache.tika tika-core 1.26 commons-io commons-io 2.6