@page "/dms/upload" @using MudBlazor @inject Pldpro.Web.UI.Services.IDocumentClient Client @inject NavigationManager Nav @inject ISnackbar Snackbar Upload Dokument-Upload @foreach (var b in _buckets) { @b } @foreach (var msg in _messages) { @msg } Zur Liste Dashboard @code { private List _buckets = new(); private string? _bucket; private string? _path; private RenderFragment? _result; private const long StreamLimit = 512L * 1024 * 1024; protected override async Task OnInitializedAsync() { try { _buckets = (await Client.ListBucketsAsync()).ToList(); _bucket = _buckets.FirstOrDefault(); } catch (Exception ex) { Snackbar.Add($"Buckets konnten nicht geladen werden: {ex.Message}", Severity.Error); } } private readonly List _messages = new(); private async Task OnFilesSelected(InputFileChangeEventArgs e) { if (string.IsNullOrWhiteSpace(_bucket)) { Snackbar.Add("Bitte zuerst einen Bucket auswählen.", Severity.Warning); return; } foreach (var f in e.GetMultipleFiles()) { try { await Client.UploadAsync(_bucket!, _path, f, StreamLimit); _messages.Add($"hochgeladen: {f.Name} ({f.Size:N0} Bytes)"); } catch (Exception ex) { _messages.Add($"Fehler bei '{f.Name}': {ex.Message}"); } } } }