@using LANCommander.SDK.Enums @inherits FeedbackComponent @inject StorageLocationService StorageLocationService @inject ServerService ServerService @inject ImportService ImportService @inject IMessageService MessageService @inject ILogger Logger

Drag and Drop

or

@Options.Hint
@code { IBrowserFile File; ChunkUploader ChunkUploader; StorageLocation StorageLocation = new(); string RootPath = Path.GetPathRoot(Directory.GetCurrentDirectory()); bool IsValid = false; string Filename; string Status; protected override async Task OnInitializedAsync() { StorageLocation = await StorageLocationService.FirstAsync(l => l.Default && l.Type == StorageLocationType.Archive); } async Task Start() { await ChunkUploader.Start(); } async Task Clear() { await ChunkUploader.Clear(); } async Task Cancel() { await ChunkUploader.Clear(); await CloseFeedbackAsync(); } public async Task OnUploadCompleted(string data) { if (Guid.TryParse(data, out var objectKey)) { try { var server = await ImportService.ImportFromUploadArchiveAsync(objectKey); await InvokeAsync(StateHasChanged); MessageService.Success($"{server.Name} successfully imported!"); await CloseFeedbackAsync(); } catch (Exception ex) { MessageService.Error("An unknown error occurred while trying to import"); Logger.LogError(ex, "An unknown error occurred while trying to import"); } } else { await InvokeAsync(StateHasChanged); MessageService.Error("Import file failed to upload!"); Logger.LogError("Import file failed to upload!"); await CloseFeedbackAsync(); } await Clear(); } public async Task OnUploadError(string message) { await InvokeAsync(StateHasChanged); MessageService.Error("An error occurred while trying to import"); Logger.LogError($"An error occurred while trying to import: {message}"); await CloseFeedbackAsync(); } }