有没有办法获得给定内容类型的扩展?

时间:2011-10-25 18:36:26

标签: c# content-type

有没有办法解决这个问题呢?

content type by extension

我有一个WebResponse,它有一个内容类型,我需要使用适当的扩展名缓存响应。

image / png => .PNG

image / jpg => .JPG

1 个答案:

答案 0 :(得分:2)

Windows在注册表中有一个MIME类型的数据库。 Internet Explorer使用此数据库在其Save As对话框中选择下载的默认扩展名。

机器级数据库位于HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MIME\Database下,HKEY_CURRENT_USER\Software\Classes\MIME\DataBase下的用户特定覆盖。 Windows合并这些树并在HKEY_CLASSES_ROOT\MIME\DataBase下公开结果。

Content-Type映射位于Content Type子项下的树中;例如,audio/mp3类型位于:

HKEY_CLASSES_ROOT\MIME\Database\Content Type\audio/mp3

默认文件扩展名(包括前导句点字符)位于Extension命名值中。

由于another answer on StackOverflow已包含执行此操作的代码段,因此我不会在此重新发明轮子: - )