2012-01-05 109 views
1

我在Windows Mobile 6中有一個應用程序,部署應用程序後,它將創建一個CAB文件。 我想上傳這個CAB文件到服務器使用文件上傳控制從Asp.Net Web窗體..如何從C#中獲取/獲取CAB FileUnique版本號?

雖然上傳我想檢查CAB文件已經上傳之前通過檢查其版本號[唯一生成的.NET而部署]而不只是它的名字。

如何從C#獲得這個獨特的版本?

請幫我在這.....

由於提前

+0

你談論一個文件的版本你看着越來越/保存該文件例如..的哈希碼如果不是你可以只檢查文件的基礎上與if文件的文件名的所有腦幹.Exist ...請澄清我的假設是否是錯誤的 – MethodMan 2012-01-05 16:08:11

+0

它不是關於文件的存在......可能是系統中具有不同名稱的相同CAB文件。因此,我們必須檢查唯一版本或上傳文件的某些內容以進行比較與之前上傳的服務器中的文件。 – 2012-01-06 04:51:55

回答

0

爲什麼不直接使用文件本身的MD5哈希?這會給你一個很好的獨特性。

public string GetFileHash(string fileName) 
{ 
    using (var stream = File.Open(fileName, FileMode.Open)) 
    { 
     var md5 = new MD5CryptoServiceProvider(); 
     var hash = md5.ComputeHash(stream); 

     var sb = new StringBuilder(); 
     for (int i = 0; i < hash.Length; i++) 
     { 
      sb.Append(hash[i].ToString("x2")); 
     } 
     return sb.ToString(); 
    } 
}