Bonjour
Le client reçoit un fichier corrompu et donc ça me fait penser à deux choses soit le client n'a pas reçu la totalité du fichier et pour s'assurer de ça il faut vérifier la taille du fichier reçu et celle du fichier sur le serveur si c'est pas le cas alors il y'a deux cas
soit la taille du fichier sur le serveur
> à la taille du fichier client
conclusion : la fonction writefile et transmit file ne fonctionne pas bien pour les gros fichiers d'après de que je sais par ce que avec un nombre des utilisateurs important qui télécharge ton serveur risque de craquer.
soit la taille du fichier sur le serveur <
à la taille du fichier client conclusion : le fichier client pusiqu'il est plus grand donc il y'a des choses injectés en plus dans le fichier lors de la transmission.
tu peux essayer ça alors
Response.ClearHeaders();
Response.Clear();
Response.ClearContent();
Response.AddHeader(
"Content-Disposition", "attachment; filename=" + oFichier.Nom); // ofichier c'est un objet qui représente un fichierObject oContenu = oFichier.Contenu;Stream oStream = newMemoryStream((byte[])oContenu);Byte[] buffer = newByte[oFichier.Contenu.Length];int byteSeq = oStream.Read(buffer, 0, oFichier.Contenu.Length);while (byteSeq > 0){
Response.OutputStream.Write(buffer, 0, byteSeq);
byteSeq = oStream.Read(buffer, 0, oFichier.Contenu.Length);
}
Response.End();
Remarque : pour ce genre de platefrom de gestion des documents je te conseil le WebDAV protocol de transfer de fichier en utilisant le protocol http
Les fins justifient les moyens_________________________________________________
Yassine BENNANI -
Ingénieur en génie logiciel & multimédia (Consultant SI)