建议使用枚举类来处理对应关系,清晰明了简单易用

其中StringUtils可以使用lang3的工具类也可以自己封装,lang3的依赖地址如下;另使用了lombok添加Get方法

        <!--工具类Lang3--><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.8.1</version></dependency>

枚举类代码MimeTypeEnum


import lombok.Getter;/*** 通过文件扩展名获取ContentType** @Date 2020/11/2 0002 上午 10:49* @Created by Czw*/
@Getter
public enum MimeTypeEnum {AAC("acc", "AAC音频", "audio/aac"),ABW("abw", "AbiWord文件", "application/x-abiword"),ARC("arc", "存档文件", "application/x-freearc"),AVI("avi", "音频视频交错格式", "video/x-msvideo"),AZW("azw", "亚马逊Kindle电子书格式", "application/vnd.amazon.ebook"),BIN("bin", "任何类型的二进制数据", "application/octet-stream"),BMP("bmp", "Windows OS / 2位图图形", "image/bmp"),BZ("bz", "BZip存档", "application/x-bzip"),BZ2("bz2", "BZip2存档", "application/x-bzip2"),CSH("csh", "C-Shell脚本", "application/x-csh"),CSS("css", "级联样式表(CSS)", "text/css"),CSV("csv", "逗号分隔值(CSV)", "text/csv"),DOC("doc", "微软Word文件", "application/msword"),DOCX("docx", "Microsoft Word(OpenXML)", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"),EOT("eot", "MS Embedded OpenType字体", "application/vnd.ms-fontobject"),EPUB("epub", "电子出版物(EPUB)", "application/epub+zip"),GZ("gz", "GZip压缩档案", "application/gzip"),GIF("gif", "图形交换格式(GIF)", "image/gif"),HTM("htm", "超文本标记语言(HTML)", "text/html"),HTML("html", "超文本标记语言(HTML)", "text/html"),ICO("ico", "图标格式", "image/vnd.microsoft.icon"),ICS("ics", "iCalendar格式", "text/calendar"),JAR("jar", "Java存档", "application/java-archive"),JPEG("jpeg", "JPEG图像", "image/jpeg"),JPG("jpg", "JPEG图像", "image/jpeg"),JS("js", "JavaScript", "text/javascript"),JSON("json", "JSON格式", "application/json"),JSONLD("jsonld", "JSON-LD格式", "application/ld+json"),MID("mid", "乐器数字接口(MIDI)", "audio/midi"),MIDI("midi", "乐器数字接口(MIDI)", "audio/midi"),MJS("mjs", "JavaScript模块", "text/javascript"),MP3("mp3", "MP3音频", "audio/mpeg"),MPEG("mpeg", "MPEG视频", "video/mpeg"),MPKG("mpkg", "苹果安装程序包", "application/vnd.apple.installer+xml"),ODP("odp", "OpenDocument演示文稿文档", "application/vnd.oasis.opendocument.presentation"),ODS("ods", "OpenDocument电子表格文档", "application/vnd.oasis.opendocument.spreadsheet"),ODT("odt", "OpenDocument文字文件", "application/vnd.oasis.opendocument.text"),OGA("oga", "OGG音讯", "audio/ogg"),OGV("ogv", "OGG视频", "video/ogg"),OGX("ogx", "OGG", "application/ogg"),OPUS("opus", "OPUS音频", "audio/opus"),OTF("otf", "otf字体", "font/otf"),PNG("png", "便携式网络图形", "image/png"),PDF("pdf", "Adobe 可移植文档格式(PDF)", "application/pdf"),PHP("php", "php", "application/x-httpd-php"),PPT("ppt", "Microsoft PowerPoint", "application/vnd.ms-powerpoint"),PPTX("pptx", "Microsoft PowerPoint(OpenXML)", "application/vnd.openxmlformats-officedocument.presentationml.presentation"),RAR("rar", "RAR档案", "application/vnd.rar"),RTF("rtf", "富文本格式", "application/rtf"),SH("sh", "Bourne Shell脚本", "application/x-sh"),SVG("svg", "可缩放矢量图形(SVG)", "image/svg+xml"),SWF("swf", "小型Web格式(SWF)或Adobe Flash文档", "application/x-shockwave-flash"),TAR("tar", "磁带存档(TAR)", "application/x-tar"),TIF("tif", "标记图像文件格式(TIFF)", "image/tiff"),TIFF("tiff", "标记图像文件格式(TIFF)", "image/tiff"),TS("ts", "MPEG传输流", "video/mp2t"),TTF("ttf", "ttf字体", "font/ttf"),TXT("txt", "文本(通常为ASCII或ISO 8859- n", "text/plain"),VSD("vsd", "微软Visio", "application/vnd.visio"),WAV("wav", "波形音频格式", "audio/wav"),WEBA("weba", "WEBM音频", "audio/webm"),WEBM("webm", "WEBM视频", "video/webm"),WEBP("webp", "WEBP图像", "image/webp"),WOFF("woff", "Web开放字体格式(WOFF)", "font/woff"),WOFF2("woff2", "Web开放字体格式(WOFF)", "font/woff2"),XHTML("xhtml", "XHTML", "application/xhtml+xml"),XLS("xls", "微软Excel", "application/vnd.ms-excel"),XLSX("xlsx", "微软Excel(OpenXML)", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"),XML("xml", "XML", "application/xml"),XUL("xul", "XUL", "application/vnd.mozilla.xul+xml"),ZIP("zip", "ZIP", "application/zip"),MIME_3GP("3gp", "3GPP audio/video container", "video/3gpp"),MIME_3GP_WITHOUT_VIDEO("3gp", "3GPP audio/video container doesn't contain video", "audio/3gpp2"),MIME_3G2("3g2", "3GPP2 audio/video container", "video/3gpp2"),MIME_3G2_WITHOUT_VIDEO("3g2", "3GPP2 audio/video container  doesn't contain video", "audio/3gpp2"),MIME_7Z("7z", "7-zip存档", "application/x-7z-compressed");//扩展名private final String extension;//说明private final String explain;//contentType/mime类型private final String mimeType;/*** @param extension 上传的文件扩展名* @param explain   类型说明* @param mimeType  Mime对应的类型*/MimeTypeEnum(String extension, String explain, String mimeType) {this.extension = extension;this.explain = explain;this.mimeType = mimeType;}/*** 通过扩展名获取枚举类型** @param extension 扩展名* @return 枚举类*/public static MimeTypeEnum getByExtension(String extension) {if (StringUtils.isEmpty(extension)) {return null;}for (MimeTypeEnum typesEnum : MimeTypeEnum.values()) {if (extension.equals(typesEnum.getExtension())) {return typesEnum;}}return null;}/*** Content-Type常用对照* 根据后缀获取Mime** @param fileType 扩展名* @return mime类型*/public static String getContentType(String fileType) {MimeTypeEnum mimeTypeEnum = MimeTypeEnum.getByExtension(fileType);if (mimeTypeEnum != null) {return mimeTypeEnum.getMimeType();}return "application/octet-stream";}}

测试

    public static void main(String[] args) throws Exception {       log.info(MimeTypeEnum.getContentType("zip"));MimeTypeEnum mimeTypeEnum = MimeTypeEnum.getByExtension("zip");log.info(mimeTypeEnum.getExplain()+ "  "+mimeTypeEnum.getMimeType()+ "   "+mimeTypeEnum.getExtension());}

日志

2020-11-02 11:13:59 INFO [Class:c.l.c.u.o.OSSUtil->Thread:main] application/zip
2020-11-02 11:13:59 INFO [Class:c.l.c.u.o.OSSUtil->Thread:main] ZIP  application/zip   zip

根据后缀名/扩展名获取content-type/Mime类型相关推荐

  1. 更改文件后缀的扩展名

    window7选择更改文件后缀的扩展名: 1.找到计算机-右击属性-控制面板主页-外观和个性化 2.外观和个性化-文件夹选项-查看-找到隐藏已知文件类型的扩展名(选择将它前面打勾),就是说明扩展名是被 ...

  2. 文件后缀_电脑文件名的后缀即扩展名的显示和隐藏方法

    前两天碰到一个同事问我,他的文件名后面的格式不显示了,就是扩展名,比如Word文档名称后缀的doc或者docx和Excel表格名称后缀的xls或者xlsx没有了,还有一些其他文件的后缀也不显示了.我三 ...

  3. 批量修改文件后缀名(扩展名格式),操作简单1行命令搞定!

    前段时间遇到电脑需要批量转换文件扩展名的情况,在网上搜集了许多贴子,终于找到一个简单快捷的操作方法,无需任何软件,一行命令,1步搞定!!! 如当前文件夹下有2个txt文本文档需要改成png格式图片. ...

  4. Windows系统批量修改文件后缀名/扩展名

    查看文件   查看文件是否有扩展名,没有后缀名通过ctrl+E打开计算机,找到"工具"->"文件夹选项"->"查看",取消勾选& ...

  5. 获取文件的MIME类型

    package priv.lwx.javaex.servlet_demo.web.servletcontext; /*** 获取MIME类型** @author liaowenxiong* @date ...

  6. .html扩展名的文件类型,JS 获取文件后缀,判断文件类型(比如是否为图片格式)...

    1.获取文件后缀 有时候我们需要通过文件名或者路径,得到该文件的后缀名(扩展名),可以通过如下方式进行截取: //文件路径 var filePath = "file://upload/jb5 ...

  7. 从文件扩展名获取MIME类型

    本文翻译自:Get MIME type from filename extension 如何从文件扩展名中获取MIME类型? #1楼 参考:https://stackoom.com/question/ ...

  8. 计算机如何更改后缀文件名,如何批量修改文件后缀名(任何文件的扩展名)?

    无需软件批量修改文件后缀名?怎么通过命令行批量修改文件后缀名?有时候由于文件后缀名格式不同,有的时候我们需要对文件扩展名进行修改,或者文件扩展名丢失,需要添加.如果数量少的文件那还简单直接修改就好了. ...

  9. 如何批量修改文件后缀名?(批量修改文件的扩展名)

    无需软件批量修改文件后缀名?怎么通过命令行批量修改文件后缀名?有时候由于文件后缀名格式不同,有的时候我们需要对文件扩展名进行修改,或者文件扩展名丢失,需要添加.如果数量少的文件那还简单直接修改就好了. ...

  10. php改变图片类型,php 图片处理函数 获取类型 扩展名

    image_type=image_type_to_mime_type(imagetype_png);   //获取png的mime类型 echo $image_type;           //输出 ...

最新文章

  1. python3 利用eval反弹shell
  2. golang中的sync.once
  3. mac 多java环境变量配置_java_Mac安装多个JDK版本并设置环境变量
  4. Buffer table CRMD_DHR_HSRVORD
  5. k8s - 如何变更CNI网络插件IP池?
  6. Download and Install R and RStudio for win10
  7. Jstack查看耗CPU的线程
  8. 基于SpringBoot的后台管理系统(Encache配置、全局异常处理(重点))(四)
  9. 电机学重难点归纳(长期更新)
  10. 植物冠层部分参数的定义及含义解释
  11. 淘宝数据分析实战:热销美食爬取和分析
  12. 计算机网络有哪些分类方式,计算机网络有哪些分类?
  13. win10下安装Centos7
  14. ROG游戏手机5S Pro上手实测,骁龙888 Plus跑分95万刷新鲁大师记录!
  15. python 递归函数 古典问题兔子
  16. 句向量表示--BERT-FLOW,BERT-whitening, ConSERT, coSENT
  17. R语言 平均值,中位数和模式
  18. 产业合作打造中国云计算实践通途
  19. 反垃圾邮件网关MailCleaner安装与配置1
  20. 如何手动重置 10 天激活宽限期

热门文章

  1. excel制作跨职能流程图_一款在线版流程图工具亿图图示
  2. Gradle 入门教程(一):Gradle是什么
  3. 章文嵩评价左耳朵耗子(2016年发布于内网)
  4. linux下查看tomcat使用的jdk版本
  5. java将date类型转成yyyymmdd_java中的Date怎么转换成YYYYMMDD形式的
  6. IP变更导致fdfs文件上传服务不可用解决流程
  7. linux只打包空目录,linux 打包当前文件夹下所有文件的方法
  8. 【机器学习】GBDT+LR算法进行特征扩增
  9. 安装丰桥(顺丰)电子面单自助打印SDK踩的坑
  10. Axure 基础控件(1-49)