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座標

	<!-- https://mvnrepository.com/artifact/org.apache.tika/tika-core -->
		<dependency>
			<groupId>org.apache.tika</groupId>
			<artifactId>tika-core</artifactId>
			<version>1.26</version>
		</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.6</version>
		</dependency>

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章