转载两篇。
原文地址:https://blog.csdn.net/p812438109/article/details/83587315
package com.oysept;
import java.io.File;
import java.io.IOException;
import java.net.FileNameMap;
import java.net.URLConnection;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import javax.activation.MimetypesFileTypeMap;
/**
* Java获取文件ContentType
* @author ouyangjun
*/
public class ContentTypeUtils {
public static void main(String[] args) {
// 文件路径
String fileUrl = "C:\\Users\\admin\\Desktop\\tttt.rar";
// 方式一
getContentTypeByLocal(fileUrl);
// 方式二,推荐使用
getContentType(fileUrl);
// 方式三
getContentTypeByType(fileUrl);
}
/**
* 方式一
* 该方式只支持本地文件,有时候会存在获取为null的情况
* @param fileUrl
*/
public static String getContentTypeByLocal(String fileUrl) {
String contentType = null;
Path path = Paths.get(fileUrl);
try {
contentType = Files.probeContentType(path);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("getContentTypeByLocal, File ContentType is : " + contentType);
return contentType;
}
/**
* 方式二
* 该方式支持本地文件,也支持http/https远程文件
* @param fileUrl
*/
public static String getContentType(String fileUrl) {
String contentType = null;
try {
contentType = new MimetypesFileTypeMap().getContentType(new File(fileUrl));
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("getContentType, File ContentType is : " + contentType);
return contentType;
}
/**
* 方式三
* @param fileUrl,有时候会存在获取为null的情况
*/
public static String getContentTypeByType(String fileUrl) {
String contentType = null;
try {
FileNameMap fileNameMap = URLConnection.getFileNameMap();
contentType = fileNameMap.getContentTypeFor(fileUrl);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("getContentTypeByType, File ContentType is : " + contentType);
return contentType;
}
}
原文地址:https://blog.csdn.net/a314368439/article/details/79911448
package cn.com.flaginfo.wechat.portal.controller.index;
public class FileContentTypeUtils {
public static String contentType(String FilenameExtension) {
if (FilenameExtension.equals(".BMP") || FilenameExtension.equals(".bmp")
|| FilenameExtension.toUpperCase().equals(".BMP")) {
return "image/bmp";
}
if (FilenameExtension.equals(".GIF") || FilenameExtension.equals(".gif")
|| FilenameExtension.toUpperCase().equals(".GIF")) {
return "image/gif";
}
if (FilenameExtension.equals(".JPEG") || FilenameExtension.equals(".jpeg") || FilenameExtension.equals(".JPG")
|| FilenameExtension.equals(".jpg") || FilenameExtension.equals(".PNG")
|| FilenameExtension.equals(".png") || FilenameExtension.toUpperCase().equals(".JPEG")
|| FilenameExtension.toUpperCase().equals(".JPG") || FilenameExtension.toUpperCase().equals(".PNG")) {
return "image/jpeg";
}
if (FilenameExtension.equals(".HTML") || FilenameExtension.equals(".html")) {
return "text/html";
}
if (FilenameExtension.equals(".TXT") || FilenameExtension.equals(".txt")
|| FilenameExtension.toUpperCase().equals(".TXT")) {
return "text/plain";
}
if (FilenameExtension.equals(".VSD") || FilenameExtension.equals(".vsd")
|| FilenameExtension.toUpperCase().equals(".VSD")) {
return "application/vnd.visio";
}
if (FilenameExtension.equals(".PPTX") || FilenameExtension.equals(".pptx") || FilenameExtension.equals(".PPT")
|| FilenameExtension.equals(".ppt") || FilenameExtension.toUpperCase().equals(".PPTX")
|| FilenameExtension.toUpperCase().equals(".PPT")) {
return "application/vnd.ms-powerpoint";
}
if (FilenameExtension.equals(".DOCX") || FilenameExtension.equals(".docx") || FilenameExtension.equals(".DOC")
|| FilenameExtension.equals(".doc") || FilenameExtension.toUpperCase().equals(".DOCX")
|| FilenameExtension.toUpperCase().equals(".DOC")) {
return "application/msword";
}
if (FilenameExtension.equals(".XML") || FilenameExtension.equals(".xml")
|| FilenameExtension.toUpperCase().equals(".XML")) {
return "text/xml";
}
if (FilenameExtension.equals(".pdf") || FilenameExtension.equals(".PDF")
|| FilenameExtension.toUpperCase().equals(".PDF")) {
return "application/pdf";
}
return null;
}
public static String imgTypeValid(String dataPrix) {
if ("data:image/jpeg;".equalsIgnoreCase(dataPrix)) {
return ".jpeg";
} else if ("data:image/jpg;".equalsIgnoreCase(dataPrix)) {
return ".jpg";
} else if ("data:image/gif;".equalsIgnoreCase(dataPrix)) {
return ".gif";
} else if ("data:image/png;".equalsIgnoreCase(dataPrix)) {
return ".png";
} else if ("data:image/apng;".equalsIgnoreCase(dataPrix)) {
return ".apng";
} else if ("data:image/svg;".equalsIgnoreCase(dataPrix)) {
return ".svg";
} else if ("data:image/bmp;".equalsIgnoreCase(dataPrix)) {
return ".bmp";
}
return null;
}
public static String fileTypeValid(String dataPrix) {
if ("data:text/plain;".equalsIgnoreCase(dataPrix)) {
return ".txt";
}
return null;
}
}