场景:实际项目中,经常需要获取文件的contentType。
上传文件时,服务器需要知道文件类型,做文件格式校验和格式转换;
下载文件时,需要返回浏览器content_type,告诉浏览器文件类型,以便浏览器能够解析文件内容。
springframework提供的MediaTypeFactory工具类可以很方便的获取contentType值,代码如下
import org.springframework.http.MediaType;
import org.springframework.http.MediaTypeFactory;
import java.util.Optional;
public class MainTest {
public static void main(String[] args) throws Exception {
// 根据文件名获取content_type
String[] fileNames = new String[]{"file/test.PNG", "测试.pdf", "视频.mp4"};
for (String fileName : fileNames) {
Optional<MediaType> mediaType = MediaTypeFactory.getMediaType(fileName);
System.out.println(mediaType.orElse(MediaType.APPLICATION_OCTET_STREAM).toString());
}
}
}