diff --git a/app/MindWork AI Studio/Dialogs/DocumentCheckDialog.razor b/app/MindWork AI Studio/Dialogs/DocumentCheckDialog.razor index 2d1f9b09..48d2ac4b 100644 --- a/app/MindWork AI Studio/Dialogs/DocumentCheckDialog.razor +++ b/app/MindWork AI Studio/Dialogs/DocumentCheckDialog.razor @@ -31,7 +31,7 @@ @if (this.Document?.IsImage ?? false) { - + } else diff --git a/app/MindWork AI Studio/Dialogs/DocumentCheckDialog.razor.cs b/app/MindWork AI Studio/Dialogs/DocumentCheckDialog.razor.cs index 799db7d1..557c5f87 100644 --- a/app/MindWork AI Studio/Dialogs/DocumentCheckDialog.razor.cs +++ b/app/MindWork AI Studio/Dialogs/DocumentCheckDialog.razor.cs @@ -30,13 +30,29 @@ public partial class DocumentCheckDialog : MSGComponentBase [Inject] private ILogger Logger { get; init; } = null!; + private string imageDataUrl = string.Empty; + protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender && this.Document is not null) { try { - if (!this.Document.IsImage) + if (this.Document.IsImage) + { + // Load image as Base64 data URL since browsers cannot access local file:// URLs: + if (this.Document is FileAttachmentImage imageAttachment) + { + var (success, base64Content) = await imageAttachment.TryAsBase64(); + if (success) + { + var mimeType = imageAttachment.DetermineMimeType(); + this.imageDataUrl = ImageHelpers.ToDataUrl(base64Content, mimeType); + this.StateHasChanged(); + } + } + } + else { var fileContent = await UserFile.LoadFileData(this.Document.FilePath, this.RustService, this.DialogService); this.FileContent = fileContent;