Вот мой метод страницы бритвы, который получает изображения:
private async Task HandleImageUpload(InputFileChangeEventArgs e)
{
IsLoading = true;
try
{
var files = e.GetMultipleFiles();
var validFiles = new List();
foreach (var file in files)
{
var fileInfo = new System.IO.FileInfo(file.Name);
if (fileInfo.Extension.ToLower() == ".jpg" ||
fileInfo.Extension.ToLower() == ".png" ||
fileInfo.Extension.ToLower() == ".jpeg")
{
validFiles.Add(file);
}
else
{
await _jsRuntime.ToastrError("Please select .jpg/.jpeg/.png file only");
IsLoading = false;
return;
}
}
var imageUrls = await _fileUpload.UploadFiles(validFiles);
Product.ImageUrls.AddRange(imageUrls);
}
catch (Exception ex)
{
await _jsRuntime.ToastrError(ex.Message);
}
finally
{
IsLoading = false;
}
}
Вот сервис, в который я пытаюсь загрузить изображения:
public async Task UploadFiles(IEnumerable files)
{
var filePaths = new List();
try
{
foreach (var file in files)
{
var fullPath = "";
FileInfo fileInfo = new(file.Name);
var fileName = Guid.NewGuid().ToString() + fileInfo.Extension;
var folderDirectory = $"{_webHostEnvironment.WebRootPath}\\images\\product";
if (!Directory.Exists(folderDirectory))
{
Directory.CreateDirectory(folderDirectory);
}
var filePath = Path.Combine(folderDirectory, fileName);
await using var fs = new FileStream(filePath, FileMode.Create);
await file.OpenReadStream(MaxFileSize).CopyToAsync(fs);
fullPath = $"/images/product/{fileName}";
filePaths.Add(fullPath);
}
return filePaths;
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
}
Максимальный размер файла — 30 МБ, общий размер изображений, которые я пытаюсь загрузить, — 2 МБ.

Вот какая странная ошибка, которую я получаю:
Microsoft.JSInterop.JSException
HResult=0x80131500
Message=e is null
Qe@http://localhost:7253/_framework/blazor ... js:1:37025
readFileData@http://localhost:7253/_framework/blazor ... js:1:36985
beginInvokeJSFromDotNet/s
Подробнее здесь: https://stackoverflow.com/questions/788 ... ad-problem