Dans ton esprit il faut décorréler le chemin donné dans la page HTML et le chemin sur la carte SD même si après le fait de les lier aide.
Quand tu insère une image dans une page HTML par une balise , l'image va déclencher une nouvelle requête HTML généralement indépendante.
Ce qui veut dire que dans ton code Arduino tu dois identifier quelle est l'URL demandé par le navigateur :
Si le navigateur t'envoi la requête "GET /" ou "GET /index.html" ... => tu renvoie la page index.html qui peut éventuellement contenir des éléments dynamique (valeurs de variables, code dépendant de variables, etc....
Si cette page contient une balise alors il tu vas recevoir une requête "GET /ledOn.jpg".
Tu ne dois pas présupposer que les requêtes arrive dans un ordre ou pas.
Ton code de serveur Web doit être totalement indépendant car un navigateur ou un autre peuvent faire les requêtes différemment (par exemple si tu as plusieurs images dans la page, rien ne peut te permettre de prédire l'ordre dans lequel le navigateur va les demander.