public async Task <IActionResult> DeleteAsync(string[] relativePaths)
    {
        var results = _uploadSvc.DeleteFiles(User, relativePaths);

        foreach (var result in results)
        {
            if (result.WasSuccessful)
            {
                await UploadHub.FileDeletedAsync(_uploadHub, User, result.UploadedFile);
            }
        }

        return(Ok(results));
    }
    [RequestSizeLimit(2_147_483_648)]  // 2GB
    public async Task <IActionResult> UploadAsync(IFormFile file)
    {
        if (file == null)
        {
            throw new ArgumentNullException(nameof(file));
        }

        var result = await _uploadSvc.SaveFileAsync(User, file.FileName, file.OpenReadStream());

        if (result.WasSuccessful)
        {
            await UploadHub.FileAddedAsync(_uploadHub, User, result.UploadedFile);
        }

        return(Ok(result));
    }