front(upload): garde-fou de taille de fichier (5 Mo)

Rejette les fichiers trop volumineux à la sélection avec un message clair,
avant lecture FileReader/envoi serveur.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
z3n
2026-06-27 07:06:45 +00:00
parent 5cdaa7d4a1
commit 15e05cc46c

View File

@@ -511,6 +511,7 @@ export class UploadComponent implements OnInit {
private destroyRef = inject(DestroyRef); private destroyRef = inject(DestroyRef);
step = signal(1); step = signal(1);
private readonly maxFileSize = 5 * 1024 * 1024; // 5 Mo
selectedFiles = signal<File[]>([]); selectedFiles = signal<File[]>([]);
detectedType = signal<'ASYNCAPI' | 'OPENAPI' | null>(null); detectedType = signal<'ASYNCAPI' | 'OPENAPI' | null>(null);
detectedMainFilename = signal<string | null>(null); detectedMainFilename = signal<string | null>(null);
@@ -717,6 +718,15 @@ export class UploadComponent implements OnInit {
return; return;
} }
const tooLarge = files.find((f) => f.size > this.maxFileSize);
if (tooLarge) {
this.fileError.set(
`Fichier trop volumineux (${tooLarge.name}). Taille max : ${this.maxFileSize / (1024 * 1024)} Mo.`,
);
this.selectedFiles.set([]);
return;
}
this.selectedFiles.set(files); this.selectedFiles.set(files);
/* Détection côté client du fichier principal (pré-remplissage du type) */ /* Détection côté client du fichier principal (pré-remplissage du type) */