From 15e05cc46c20ffbcbf9b656875de205111e7ac1a Mon Sep 17 00:00:00 2001 From: z3n Date: Sat, 27 Jun 2026 07:06:45 +0000 Subject: [PATCH] front(upload): garde-fou de taille de fichier (5 Mo) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rejette les fichiers trop volumineux à la sélection avec un message clair, avant lecture FileReader/envoi serveur. Co-Authored-By: Claude Opus 4.8 --- front-public/src/app/pages/upload/upload.component.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/front-public/src/app/pages/upload/upload.component.ts b/front-public/src/app/pages/upload/upload.component.ts index 3a5752f..97cb840 100644 --- a/front-public/src/app/pages/upload/upload.component.ts +++ b/front-public/src/app/pages/upload/upload.component.ts @@ -511,6 +511,7 @@ export class UploadComponent implements OnInit { private destroyRef = inject(DestroyRef); step = signal(1); + private readonly maxFileSize = 5 * 1024 * 1024; // 5 Mo selectedFiles = signal([]); detectedType = signal<'ASYNCAPI' | 'OPENAPI' | null>(null); detectedMainFilename = signal(null); @@ -717,6 +718,15 @@ export class UploadComponent implements OnInit { 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); /* Détection côté client du fichier principal (pré-remplissage du type) */