diff --git a/app/MindWork AI Studio/Components/ReadFileContent.razor b/app/MindWork AI Studio/Components/ReadFileContent.razor new file mode 100644 index 00000000..8be6f058 --- /dev/null +++ b/app/MindWork AI Studio/Components/ReadFileContent.razor @@ -0,0 +1,4 @@ +@inherits MSGComponentBase + + Use PDF content as input" + \ No newline at end of file diff --git a/app/MindWork AI Studio/Components/ReadFileContent.razor.cs b/app/MindWork AI Studio/Components/ReadFileContent.razor.cs new file mode 100644 index 00000000..2fe8395b --- /dev/null +++ b/app/MindWork AI Studio/Components/ReadFileContent.razor.cs @@ -0,0 +1,32 @@ +using AIStudio.Tools.Rust; +using AIStudio.Tools.Services; + +using Microsoft.AspNetCore.Components; + +namespace AIStudio.Components; + +public partial class ReadFileContent : MSGComponentBase +{ + [Parameter] + public string FileContent { get; set; } = string.Empty; + + [Parameter] + public EventCallback FileContentChanged { get; set; } + + [Inject] + private RustService RustService { get; init; } = null!; + + private async Task SelectFile() + { + var txtFile = await this.RustService.SelectFile("Select Text file"); + if (txtFile.UserCancelled) + return; + + if(!File.Exists(txtFile.SelectedFilePath)) + return; + + var txtContent = await this.RustService.ReadArbitraryFileData(txtFile.SelectedFilePath, int.MaxValue); + + await this.FileContentChanged.InvokeAsync(txtContent); + } +} \ No newline at end of file