@inject ISnackbar Snackbar
Drag and drop files here or click
@foreach (var file in _fileNames)
{
}
Open file picker
Upload
Clear
@code {
#nullable enable
private const string DefaultDragClass = "relative rounded-lg border-2 border-dashed pa-4 mt-4 mud-width-full mud-height-full";
private string _dragClass = DefaultDragClass;
private readonly List _fileNames = new();
private MudFileUpload>? _fileUpload;
private async Task ClearAsync()
{
await (_fileUpload?.ClearAsync() ?? Task.CompletedTask);
_fileNames.Clear();
ClearDragClass();
}
private Task OpenFilePickerAsync()
=> _fileUpload?.OpenFilePickerAsync() ?? Task.CompletedTask;
private void OnInputFileChanged(InputFileChangeEventArgs e)
{
ClearDragClass();
var files = e.GetMultipleFiles();
foreach (var file in files)
{
_fileNames.Add(file.Name);
}
}
private void Upload()
{
// Upload the files here
Snackbar.Configuration.PositionClass = Defaults.Classes.Position.TopCenter;
Snackbar.Add("TODO: Upload your files!");
}
private void SetDragClass()
=> _dragClass = $"{DefaultDragClass} mud-border-primary";
private void ClearDragClass()
=> _dragClass = DefaultDragClass;
}