2015-02-23 147 views
-1

我已经使用代码here来获取文件的MIME类型。获取文件MIME类型时出错

AS

 public static string GetContentType(string fileName) 
     { 
      var extension = Path.GetExtension(fileName); 

      if (String.IsNullOrWhiteSpace(extension)) 
      { 
       return null; 
      } 

      var registryKey = Registry.ClassesRoot.OpenSubKey(extension); 

      if (registryKey == null) 
      { 
       return null; 
      } 

      var value = registryKey.GetValue("Content Type") as string; 

      return String.IsNullOrWhiteSpace(value) ? null : value; 
     } 

但它总是返回null SQL文件。任何想法我做错了什么。

回答

0

由于注册表项HKEY_CLASSES_ROOT\.sql可能没有任何名为Content Type的值。您可以通过regedit工具手动添加该工具。

+0

是的。但如何做到这一点。我在HKEY_CLASSES_ROOT下有一个.sql文件夹 你可以在以下网址找到它: http://s18.postimg.org/9fif5qjx5/Content.jpg – 2015-02-23 09:02:53

+0

右键单击右窗格中的'New'>'String Value',然后重命名它作为内容类型,然后将数据设置为“application/octet-stream”(没有针对SQL的特殊MIME类型)。我怀疑对于名为'HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ .sql'的键应遵循相同的过程。 – 2015-02-23 09:12:30

+0

它可以编程方式完成。 – 2015-02-23 09:19:26