如下是获取本地上的文件HASH值方法,如果把filepath换成ftp地址,红色标注行会报不支持给定路径的格式的错误,该怎么改动            filePath = "g:\\update\\1.txt";
            using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
            {
                byte[] buffer;
                using (HashAlgorithm hash = HashAlgorithm.Create())
                {
                    buffer = hash.ComputeHash(fs);
                    hash.Clear();
                }
                ss = Convert.ToBase64String(buffer);
            }            label2.Text = ss;

解决方案 »

  1.   

    获取ftp上的文件,然后下载下来再读取。直接指向路径是不行的。至于怎么下载ftp文件,你自己搜索一下。网上很多现成的。
      

  2.   

    有的FTP服务器软件支持HASH指令,你可以让FTP服务端将HASH的结果返回给你。如果是不支持该指令的,建议自己写个服务在服务器上计算文件的HASH后,返回给客户端吧,这要比先下载回来再计算好得多。
      

  3.   

    上传文件的时候就吧checksum放上去。例如上传1.exe. 将checksum保存到1.exe.checksum上传到服务器上。
    下载时,只下载1.exe.checksum