Как я могу вычислить контрольную сумму объекта IFormFile - PullRequest
0 голосов
/ 21 октября 2018

У меня есть файловый объект в виде IFormFile.Мне нужно рассчитать контрольную сумму этого файла.Как я могу это сделать.

public string FindChecksum (IFormFile file){

  // How to calculate the checkSum

  return "THE CHECKSUM";
}

1 Ответ

0 голосов
/ 21 октября 2018

Я бы сделал что-то вроде этого.

Я предполагал, что вы получите данные в аргументе файла IFromFile.

public IActionResult IndexPost(IFormFile file)
        {
            Stream st =  file.OpenReadStream();
            MemoryStream mst = new MemoryStream();
            st.CopyTo(mst);            
            return Content(ToMD5Hash(mst.ToArray()));
        }       

        public static string ToMD5Hash(byte[] bytes)
        {
            if (bytes == null || bytes.Length == 0)
                return null;

            using (var md5 = MD5.Create())
            {
                return string.Join("", md5.ComputeHash(bytes).Select(x => x.ToString("X2")));
            }
        }
...