@page "/"
@rendermode InteractiveServer
@using BlazorApp1.Handler.Interfaces
@using BlazorApp1.Helpers
@using BlazorApp1.Models
@using Microsoft.AspNetCore.Authorization
@inject IFileHandler FileHandler
@inject IVideoHandler VideoHandler
@attribute [Authorize]
Auth
You are authenticated
Hello @context.User.Identity?.Name!
@foreach (FFOptionsCodecs codec in Enum.GetValues())
{
}
@foreach (FFOptionsFilters filter in Enum.GetValues())
{
}
Download new video
@code
{
[SupplyParameterFromForm(FormName = "UploadFile")]
private FileInput? File { get; set; } = new();
private IBrowserFile? _browserFile;
private FFOptionsCodecs Codec { get; set; }
private FFOptionsFilters Filters { get; set; }
private string NewFilePath { get; set; } = "";
private void OnFileSelected(InputFileChangeEventArgs e)
{
_browserFile = e.File;
}
private async Task Upload()
{
if (_browserFile is null)
{
return;
}
await FileHandler.SaveFile(_browserFile);
string filePath = FileHandler.GetFileReference(_browserFile.Name);
VideoHandler.ConvertVideo(filePath, Codec, Filters, out string newFilePath);
await FileHandler.DeleteTempFile(filePath);
NewFilePath = newFilePath.GetFileNameFromPath();
}
public class FileInput
{
public IFormFile FileForm { get; set; }
}
}