2012-01-05 72 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(); 
    } 
}