Checkpoint: La route /api/download-bap accepte maintenant un param filename et le met dans Content-Disposition (RFC 5987). Les fonctions downloadBapPdf dans InvoicesBAP.tsx et BapHistory.tsx passent le filename formaté dans l'URL.
This commit is contained in:
@@ -61,8 +61,13 @@ async function startServer() {
|
||||
res.status(404).json({ error: "Fichier introuvable" });
|
||||
return;
|
||||
}
|
||||
const filename = path.basename(storagePath);
|
||||
res.setHeader("Content-Disposition", `attachment; filename="${encodeURIComponent(filename)}"`);
|
||||
// Utiliser le nom de fichier fourni par le client (format Date - Fournisseur - N°Facture.pdf)
|
||||
const customFilename = req.query.filename as string | undefined;
|
||||
const fallbackFilename = path.basename(storagePath);
|
||||
const finalFilename = customFilename ? customFilename : fallbackFilename;
|
||||
// RFC 5987 : utiliser filename* pour les caractères non-ASCII
|
||||
const encodedFilename = encodeURIComponent(finalFilename);
|
||||
res.setHeader("Content-Disposition", `attachment; filename="${encodedFilename}"; filename*=UTF-8''${encodedFilename}`);
|
||||
res.setHeader("Content-Type", "application/pdf");
|
||||
res.sendFile(storagePath);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user