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

转载自 根据文件名获取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. 再看第二张图,方法的核心逻辑也确实是根据文件名后缀判断的
posted @ 2022-12-06 10:46  极客子羽  阅读(2223)  评论(0编辑  收藏  举报