我正在尝试在用户将其上传到我的服务器时创建该文件的MD5,并将该请求与已发布的文件一起转发到我的服务,该服务使用以下方法重新检查已发布文件的MD5。
对于服务端的Request.Files [0] .InputStream,它总是显示不同的长度。有什么我不知道为什么这会显示发布文件的不正确长度?
if (context.Request.Files.Count > 0)
{
byte[] fileData = null;
using (var binaryReader = new BinaryReader(context.Request.Files[0].InputStream))
{
fileData = binaryReader.ReadBytes((int)context.Request.Files[0].InputStream.Length);
binaryReader.Close();
}
using (MD5 md5 = MD5.Create())
{
byte[] hashData = md5.ComputeHash(fileData);
//loop for each byte and add it to StringBuilder
for (int i = 0; i < hashData.Length; i++)
{
FileMD5Hash.Append(hashData[i].ToString());
}
}
}
答案 0 :(得分:0)
这不是创建byte []的正确方法。我使用了memorystream的toArray(),它对我来说很漂亮。