首页 > 编程语言 >Java通过文件名后缀确定Content-Type中的MIMEType

Java通过文件名后缀确定Content-Type中的MIMEType

时间:2022-12-06 10:57:34浏览次数:63  
标签:MIMEType Java String 文件名 MediaType Content application

转载自 根据文件名获取contentType

作为一个Java后端,你的项目里面不可能不引用spring的,所以下面提供的是依赖spring-web的方案:

public class MainTest {

    public static void main(String[] args) {
        // 根据文件名获取content_type
        String[] fileNames = new String[]{"file/test.PNG", "测试.pdf", "视频.mp4", "流程1.zip", "application.json"};
        for (String fileName : fileNames) {
            Optional<MediaType> mediaType = MediaTypeFactory.getMediaType(fileName);
            System.out.println(mediaType.orElse(MediaType.APPLICATION_OCTET_STREAM));
        }
    }
}

MediaType.APPLICATION_OCTET_STREAM ("application/octet-stream")告诉浏览器输出内容为流

对应打印结果分别是

image/png
application/pdf
video/mp4
application/zip
application/json

“对抗路”

  1. 由下图可以看出,MediaType 继承了 MimeType,所以他输出的就是 MIMEType:

  1. 再看第二张图,方法的核心逻辑也确实是根据文件名后缀判断的

标签:MIMEType,Java,String,文件名,MediaType,Content,application
From: https://www.cnblogs.com/kendoziyu/p/16954568.html

相关文章

  • 字符串转换为java.sql.Date格式的时间
    @Test  publicvoidtest()throwsParseException{    //将字符串转换为java.sql.Date格式的时间    Stringstr="2017-8-16";    Simpl......
  • 盘点JAVA中基于CAS实现的原子类, 你知道哪些?
    前言JDK中提供了一系列的基于CAS实现的原子类,CAS的全称是Compare-And-Swap,底层是lockcmpxchg指令,可以在单核和多核CPU下都能够保证比较交换的原子性。所以说,这些原子......
  • java中List集合的多种遍历方式
    文章目录​​1.for循环遍历​​​​2.for循环的简化版遍历​​​​3.传统迭代器方式​​​​4.forEach遍历​​​​5.stream遍历​​​​附​​新建一个集合用于遍历:L......
  • 【每天一个java设计模式(一)】 - 工厂模式
    工厂模式是Java中最常用的设计模式之一。它属于创建型模式,提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同......
  • 【每天一个java设计模式(零)】 - 设计模式基本概念及七大设计原则
    设计模式概述设计模式是什么?它是软件开发人员在软件开发过程中经过相当长的一段时间的试验和错误总结出来的面临的一般问题的解决方案;它是一套被反复使用的、多数人知晓的、......
  • java中的关键字(含保留字)解析
    文章目录​​概述​​​​关键字解释​​​​abstract​​​​assert​​​​boolean​​​​break​​​​byte​​​​case​​​​catch​​​​char​​​​class​​​......
  • 剖析java中几种创建线程的几种方式
    文章目录​​继承Thread​​​​实现Runnable接口​​​​实现Callable接口​​​​newThread方式的缺点​​​​通过线程池创建​​​​newSingleThreadExecutor​​​​n......
  • 【深入理解java虚拟机】 - JVM字节码指令介绍
    文章目录​​什么是字节码指令​​​​javap的用法​​​​字节码与数据类型​​​​字节码指令集​​​​加载和存储指令​​​​运算指令​​​​类型转换指令​​​​对......
  • 使用java将数据库表导出为Excel表
    文章目录​​1、建立数据库表的实体类​​​​2、通过JDBC查询数据库表中的数据​​​​3、导入Excel表操作依赖包​​​​4、将实体列表转化为HSSFWorkbook工作簿对象​​......
  • 【深入理解java虚拟机】 - JVM垃圾回收器
    文章目录​​概述​​​​并发与并行​​​​垃圾回收器的分类​​​​7种经典的垃圾回收器​​​​垃圾回收器​​​​Serial与SerialOld回收器​​​​ParNew回收器​......