修复大文件计算hash抛异常的问题

This commit is contained in:
root 2024-12-09 23:44:14 +08:00
parent 00db7a863b
commit 308787072d
2 changed files with 8 additions and 7 deletions

View file

@ -133,14 +133,15 @@ namespace iFileProxy.Helpers
byte[] hash = [];
if (File.Exists(fileName))
{
using FileStream fileStream = File.OpenRead(fileName);
hash = algorithm switch
{
FileHashAlgorithm.MD5 => MD5.HashData(File.ReadAllBytes(fileName)),
FileHashAlgorithm.SHA1 => SHA1.HashData(File.ReadAllBytes(fileName)),
FileHashAlgorithm.SHA256 => SHA256.HashData(File.ReadAllBytes(fileName)),
FileHashAlgorithm.SHA384 => SHA384.HashData(File.ReadAllBytes(fileName)),
FileHashAlgorithm.SHA512 => SHA512.HashData(File.ReadAllBytes(fileName)),
_ => MD5.HashData(File.ReadAllBytes(fileName)),
FileHashAlgorithm.MD5 => MD5.HashData(fileStream),
FileHashAlgorithm.SHA1 => SHA1.HashData(fileStream),
FileHashAlgorithm.SHA256 => SHA256.HashData(fileStream),
FileHashAlgorithm.SHA384 => SHA384.HashData(fileStream),
FileHashAlgorithm.SHA512 => SHA512.HashData(fileStream),
_ => MD5.HashData(fileStream),
};
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < hash.Length; i++)

View file

@ -268,7 +268,7 @@ namespace iFileProxy.Services
}
catch (Exception ex)
{
_logger.Fatal($"执行下载任务时候出现致命问题: {ex.Message}");
_logger.Fatal("task: {taskid} 执行下载任务时候出现致命问题: {ex}",taskInfo.TaskId, ex);
taskInfo.Status= TaskState.Error;
_dbGateService.UpdateTaskStatus(taskInfo);