La méthode que je te donne devrait marcher sur TOUS les navigateurs.
La tienne est trop "courte" : ca ne donne pas toutes les infos au navig, ce qui fait que certains navigateurs ne fonctionneront pas....
Les navigateurs sont assez sensibles aux en-tetes HTTP
Une petite description :
La première ligne : parceque Opera et IE ne sont pas d'accord avec les autres pour le mimi-type...
Ligne suivante : le type, mais ça, tu connais
Les 2 lignes d'après : Pour éviter que le navigateur aille chercher dans sont cache (on triche sur les dates d'expiration)
La ligne suivante, avec filesize : permet au navigateur d'indiquer l'avancement du téléchargement par rapport a la taille totale : sinon, il ne sait pas ou s'arreter, donc il indique juste ce qui a déja été téléchargé, mais pas d'indication en %.
Ensuite, suivant les navigateurs, la méthode change, mais on fait la meme chose :
Attachement du fichier, transfert en binaire, et interdiction d'utiliser le cache (encore une fois, mais c'est indispensable)
On peut ensuite fermer la connexion, et envoyer le fichier derrière. Ca fait bizarre de fermer la connexion avant, mais pourtant, c'est comme ça qu'il faut faire
