Steve Sandersonによって説明されているように、ユーザーがBlazorInputFileを使用してブラウザーで選択するファイルがあります。
選択したら、 を使用してファイルのチェックサムを計算します。ファイルの MD5 チェックサムSystem.Security.Cryptography.MD5
を計算する へのこの回答で説明されている内容と同様です。
ただし、System.NotSupportedException
これを試すと次のようになります。
private string GetMd5ForFile(IFileListEntry file)
{
using (var md5 = MD5.Create())
{
return Convert.ToBase64String(md5.ComputeHash(this.file.Data));
}
}
いくつかの例外の詳細は次のとおりです。
> Message: "Synchronous reads are not supported"
> Source : "BlazorInputFile"
> Stack : "at BlazorInputFile.FileListEntryStream.Read(Byte[] buffer, Int32 offset, Int32 count)"
ComputeHash()
の配列を取ることは知っていますbyte
。これまでのところ、BlazorInputFile のストリームを使い慣れた型にキャストしたり、独自のメソッドを使用してバイトを配列に読み取ったりしようとしましたFileStream
が、成功しませんでした。