<EditForm Model="@characters" OnValidSubmit="HandleSubmit"> <MudNumericField Label="Id" @bind-Value="character.id" For="@(() => character.id)"></MudNumericField> <MudTextField Label="Name" @bind-Value="character.Name" For="@(() => character.Name)" /> <MudTextField Label="Bio" @bind-Value="character.Bio" For="@(() => character.Bio)" /> <MudDatePicker Label="Birth Date" @bind-Date="character.BirthDate" /> <br /> <InputFile id="fileInput" OnChange="OnFilesChanged" hidden multiple /> <MudButton HtmlTag="label" Variant="Variant.Filled" Color="Color.Success" StartIcon="@Icons.Filled.CloudUpload" for="fileInput"> Upload Images </MudButton> <br /> </EditForm>
private async Task OnFilesChanged(InputFileChangeEventArgs e) { var maxAllowedFiles = 3000; var format = "image/png"; foreach (var imageFile in e.GetMultipleFiles(maxAllowedFiles)) { var resizedImageFile = await imageFile.RequestImageFileAsync(format, 100, 100); var buffer = new byte[resizedImageFile.Size]; await resizedImageFile.OpenReadStream().ReadAsync(buffer); var imageDataUrl = $"data:{format};base64,{Convert.ToBase64String(buffer)}"; Medias.Add(new MediaVariantUI { Content = buffer, ImageDataUrl = imageDataUrl, ContentType = imageFile.ContentType, Name = imageFile.Name, Size = imageFile.Size, }); } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)