IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

BinaryWrite et IE 6.0


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut BinaryWrite et IE 6.0
    Bonjour à tous, j'ai un problème lié à l'utilisation de Reponse.BinaryWrite sous Internet Explorer 6.0.

    Voici une petite explication :
    Afin d'éviter les PostBack sur un site Web, j'ai créé une page "VoirFichier.aspx" permettant à l'utilisateur de télécharger des fichiers contenus dans une base de données SQL Server.
    Ainsi pour tout lien vers un fichier en base de données, j'appelle une méthode JavaScript qui va ouvrir la page "VoirFichier.aspx" dans une popup en lui passant des paramètres dans l'URL.
    Dans le code behind de la page (VoirFichier.aspx.cs), je récupère les données binaires du fichier correspondant aux paramètres passés dans l'URL.

    Bon jusque là tout va bien j'ai récupéré toutes les infos du fichier j'effectue donc mon BinaryWrite de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Response.ContentType  = /*type du fichier, "application/pdf" en général*/;
    Response.AppendHeader("Content-Disposition", "attachment; filename = /*nom du fichier*/ ");
    Response.AppendHeader("Content-Length", /*taille du fichier*/);
    Reponse.BinaryWrite(/* fichier binaire sous la forme byte[] */);
    En localhost ceci marche très bien que ce soit sous IE 6.0, IE 7.0, Firefox 2.0...
    En revanche sur le serveur de production cela marche sous IE 7.0 et FireFox 2.0 mais pas sous IE 6.0. On récupère bien un fichier de la bonne taille et marqué comme étant du bon type mais il se nomme toujours "VoirFichier.aspx" ou au mieux "VoirFichier.pdf" pour les fichiers pdf par exemple.

    En effectuant déjà des recherches, j'ai vu que IE 6.0 gérait parfois mal les headers trop long et que raccourcir le nom du fichier pouvait remédier au problème. J'ai effectué beaucoup de modifications mais jamais rien n'a résolu mon problème. Voici quelques modifs que j'ai pu faire :
    - nom de fichier avec une seule lettre (ex : t.pdf)
    - suppression de l'header "Content-Length"
    - ajout de Response.Clear() et Response.ClearHeader() et Response.ClearContent() en tout début
    - ajout de Reponse.Flush() et/ou de Response.End() ou en toute fin
    - exécution du BinaryWrite dans le OnInit ou dans le PreRender de la page
    ...

    Rien n'y a fait IE 6.0 ne veut pas prendre le bon nom de fichier. Je ne sais plus comment remédier au problème et je ne sais vraiment pas d'où il vient :
    - problème de config serveur?
    - problème de IE 6.0?
    - problème de code?

    J'espère que vous pourrez m'aider car je n'ai plus de solutions pour le moment.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut
    Bon j'ai résolu mon problème en faisant de l'url rewritting, merci à moi même.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Arraylist et binarywriter
    Par bluemiller3 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/03/2009, 00h17
  2. Nommer le fichier PDF avec un Response.BinaryWrite() c#
    Par alexfayard dans le forum ASP.NET
    Réponses: 6
    Dernier message: 28/10/2008, 10h44
  3. Bonne utilisation de Response.BinaryWrite ?
    Par hollywood dans le forum ASP.NET
    Réponses: 3
    Dernier message: 06/08/2008, 14h05
  4. Réponses: 7
    Dernier message: 29/10/2007, 12h00
  5. Response.BinaryWrite dans un formulaire
    Par faamugol dans le forum ASP
    Réponses: 4
    Dernier message: 12/05/2004, 12h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo