2015-02-23 137 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