@inject NavigationManager NavigationManager
Drag and Drop File Hereor
Uploads are limited to a single file up to 15 MB.
@code {
[Parameter] public Func? OnFileUploaded { get; set; }
bool UploadVisible { get; set; } = false;
readonly List _allowedExtensions = new List { ".jpg", ".jpeg", ".gif", ".png", ".pdf", ".json" };
readonly List _acceptedFileTypes = new List { "application/json", "application/pdf", "application/jpeg" };
byte[] FileBytes { get; set; }
protected void SelectedFilesChanged(IEnumerable files)
{
//InvokeAsync(StateHasChanged);
}
protected async Task FilesUploading(FilesUploadingEventArgs args)
{
foreach (var file in args.Files)
{
using var stream = new System.IO.MemoryStream();
await file.OpenReadStream(file.Size).CopyToAsync(stream);
if (OnFileUploaded != null) await OnFileUploaded(stream.ToArray());
}
}
protected string GetUploadUrl(string url)
{
return NavigationManager.ToAbsoluteUri(url).AbsoluteUri;
}
}