Проблема с загрузкой нескольких изображений Blazor Server .NET 8C#

Место общения программистов C#
Ответить
Anonymous
 Проблема с загрузкой нескольких изображений Blazor Server .NET 8

Сообщение Anonymous »

Я пытаюсь загрузить несколько изображений, но получаю эту странную ошибку при загрузке второго изображения, что бы я ни пытался, мне это не удалось.
Вот мой метод страницы бритвы, который получает изображения:

Код: Выделить всё

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.server.js:1:37025
readFileData@http://localhost:7253/_framework/blazor.server.js:1:36985
beginInvokeJSFromDotNet/s

Подробнее здесь: [url]https://stackoverflow.com/questions/78816542/blazor-server-net-8-multiple-image-upload-problem[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»