Bonjour à toutes et à tous,
J'ai récupéré le contenu d'un fonction de téléchargement de fichier et je l'utilise pour télécharger plusieurs fichiers à le suite. Cette fonction est la suivante :
elle appelle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 async function chgtHistos() { for (let i = 0; i < 7; i++) { fetch('/quelFichier?val='+i) .then(response => response.blob()) .then(blob => { const url = window.URL.createObjectURL(blob); const a = document.createElement('a'); a.style.display = 'none'; a.href = url; a.download = 'fichier_telecharge.txt'; document.body.appendChild(a); a.click(); window.URL.revokeObjectURL(url); }) .catch(error => console.error('Erreur lors du téléchargement:', error)); } }
Le téléchargement de chacun des fichiers se passe bien à ceci près que leur nom est celui donné dans la ligne : a.download = 'fichier_telecharge.txt';Y a-t-il un moyen de récupérer le vrai nom de chaque fichier ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 server.on("/quelFichier", HTTP_GET, [](AsyncWebServerRequest *request){ if (request->hasParam("val")) { File root = LittleFS.open("/"); File file = root.openNextFile(); noFch = request->getParam("val")->value().toInt(); bool vu = false; while(file) { if (strncmp(file.path(), nomJour[noFch], 4) == 0) { vu = true; Serial.println(file.path()); request->send(LittleFS, file.path(), String(), true); // Envoie le fichier en téléchargement } if (vu == true) break; else file = root.openNextFile(); } } }); }
Cordialement.
Pierre.
Partager