Bon voilà le topo : j’ai une page de téléchargement de fichiers zip. Grosso modo, je lis un zip et je le renvois dans la réponse avec les bon headers :
Response.ClearHeaders();
Response.Buffer = false;
Response.AddHeader("Content-Type", "multipart/x-zip");
Response.AddHeader("Content-Disposition", "attachment; filename=" + nom + ".zip");
FileStream fs = File.OpenRead([i]monfichier.zip[/i]);
long bytes_restants = fs.Length;
while (bytes_restants > 0)
{
Byte[] Buffer = new byte[(bytes_restants>=1024*1024)?1024*1024:bytes_restants];
fs.Read(Buffer, 0, Buffer.Length);
Response.BinaryWrite(Buffer);
bytes_restants -= 1024*1024;
}
fs.Close();
Response.End();
Le code marche parfaitement avec tout les navigateur que j’ai eu le loisir de tester (FF, IE, Opera, Safari) sauf chez un testeur qui a Norton Internet Security, chez lui il faut desactiver Norton. Si on laisse Norton, le fichier téléchargé fait 0ko. C’est un problème parce que Murphy is a bitch donc je parie qu’au lancement de la WebApp, des clients auront Norton et ne voudrons pas le desactiver à chaque fois.
Je poste ça dans SegFault parce qu’il y a peut être un problème avec mes headers mais si quelqu’un a idée d’une solution au niveau de Norton qu’il n’hésite pas.