Visualiseur de fichiers auto-détectant. Accepte une FileSource (URL / base64 / octets) et redirige vers le bon moteur de rendu par catégorie : image (déléguée à ImageViewer), markdown (onglet Aperçu / Source), texte (highlight.js coloré), intégré (PDF et autres types rendables par navigateur via <iframe>), zip (arborescence + visualiseur imbriqué pour l’entrée sélectionnée), et non supporté (message info). La détection préfère le MIME de la source, sinon l’extension de fichier.
Les archives zip affichent un arbre de dossiers de leur contenu à gauche ; Choisir une entrée la prévisualise à droite avec la même catégorie de routage (texte, code, image, ...). Le visualiseur récupère les octets d’archive depuis le FileSource et les dézippe dans le navigateur. Chaque participation propose également un téléchargement.
Octets UTF-8 décodés et rendus avec Markdig (Blazor) ou un analyseur markdown (React) dans un panneau à onglet Aperçu / Source.
The FileViewer picks a renderer per file kind.
ImageViewer.var source = new FileSource.Bytes(bytes) { FileName = "readme.md" };
# Hello FileViewer
The **FileViewer** picks a renderer per file kind.
- Images flow through `ImageViewer`.
- Markdown picks up Markdig.
- Text/code is coloured with highlight.js.
- Zip archives expand to a tree.
```csharp
var source = new FileSource.Bytes(bytes) { FileName = "readme.md" };
```
Octets UTF-8 rendus via highlight.js en utilisant le langage déduit de l’extension de fichier.
{
"name": "ImageViewer",
"features": ["rotate", "zoom", "flip", "crop"],
"version": "1.0"
}Les extensions inconnues se retrouvent dans un message d’information amical au lieu de les jeter.
Les types d’images déléguent à ImageViewer avec Framed + Downloadable chrome.

Nom | Type | Par défaut | Description |
|---|---|---|---|
Downloadable | bool | True | Components.ImageViewer à la place — pareil Comportement, même icône, mais possédée par le Chrome du Visualiseur d’Image. |
Fallback | RenderFragment? | Affiché lorsque FileViewer.Source est nul. | |
FileName | string? | Nom de fichier utilisé pour la détection de catégories (extension), le fichier embarqué FileSource.FileName, sinon à la Le dernier segment de chemin de l’URL, sinon | |
MaxHeight | string | 60vh | Hauteur maximale pour les moteurs de rendu en ligne (texte, viewport markdown, embarqué iframe). Définit la région défilable. Par défaut |
Source | FileSource? | Données de fichier à afficher. Lorsque nul, FileViewer.Fallback est rendu à la place (ou rien si aucun repli n’est fourni). |
DownloadableComponents.ImageViewer à la place — pareil Comportement, même icône, mais possédée par le Chrome du Visualiseur d’Image.FallbackFileViewer.Source est nul.FileNameFileSource.FileName, sinon à la Le dernier segment de chemin de l’URL, sinon MaxHeightSourceFileViewer.Fallback est rendu à la place (ou rien si aucun repli n’est fourni).