有没有办法从Java中的文件扩展名生成Content-Type标头?

我有一个Java应用程序,有时必须从文件名单独生成Content-Type标头。 有没有办法估算常见扩展的内容类型? (例如“.pdf”映射到“application / pdf”等)

是的, URLConnection.guessContentTypeFromName就是这样做的。

是的,通过JavaBeans Activation Framework (javax.activation)。

import java.io.File; import javax.activation.MimetypesFileTypeMap; ... return new MimetypesFileTypeMap().getContentType(new File("brognitz.jpg")); 

如果Java内置数据库不合适,您还可以添加自己的内容类型 。

编辑:据我所知,Jason Day的回答是正确的。

你加载了常见类型的哈希表?