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

C# Discussion :

Ouvrir pdf IE 10 C# [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2011
    Messages : 28
    Points : 21
    Points
    21
    Par défaut Ouvrir pdf IE 10 C#
    Bonjour,

    J'arrive actuellement a ouvrir des pdf via Firefox, Safari ou IE<10 mais pour IE 10 j'ai l'erreur que le fichier n'a pas pu être téléchargé.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Response.Buffer = false; //transmitfile self buffers
                                Response.Clear();
                                Response.ClearContent();
                                Response.ClearHeaders();
                                Response.BufferOutput = true;
                                byte[] Buffer = new byte[((byte[])monReader["Doc"]).Length];
                                Buffer = (byte[])monReader["Doc"];
     
                                Response.ContentType = "application/vnd.ms-pdf";
                               // Response.ContentType = "images/jpeg";
                                if(nom.Contains(".pdf")==true)
                                   // Response.AddHeader("content-disposition", "attachment; filename=" + nom );
                                    Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", nom));
                                else
                                    Response.AddHeader("content-disposition", "attachment; filename=" + nom + ".pdf");
                                Response.Flush();
     
                                Response.BinaryWrite(Buffer);
     
                                Response.Flush();
                                Response.Close();
                                Response.End();
     
                                monReader.Close();
    Dans ce code j'utilise un reader car le fichier est enregistrer dans une base de données SQL Server.

    Pour la ligne Response.ContentType j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.ContentType="application/pdf";
    Mais cela ne marche pas non plus.

    Je vous remercie pour votre aide

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    sans doute un peu trop tard, mais j'ai le même problème.

    La piste principale à étudier est l'appel à Response.Close().
    Selon la msdn ,
    msdn.microsoft.com
    cette méthode met fin à la connexion au client de manière brusque et envoie un paquet de réinitialisation pour le client. Elle ne garantie pas que toutes les données en cours sont correctement envoyé au client. De plus, le cycle de vie de la page asp.net risque de ne pas être correctement terminé

    Donc en supprimant cet appel, cela devrait fonctionner.

    Autre piste : privilégier l'appel à HttpContext.Current.ApplicationInstance.CompleteRequest();


    a+

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2011
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Bonjour beatrike,

    J'ai réussi à résoudre ma problématique, voici le code utiliser (il fonctionne actuellement sur un site)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
     //pour IE 10
                                HttpBrowserCapabilities brObject = Request.Browser;
                                string version=brObject.Version;
                                // Display the type and version.
                                if (brObject.Type.ToString().Contains("IE") &&version.Contains("10") )
                                {
                                    Response.Buffer = false; //transmitfile self buffers
                                    Response.Clear();
                                    Response.ClearContent();
                                    Response.ClearHeaders();
                                    Response.BufferOutput = true;
                                    byte[] Buffer = new byte[((byte[])monReader["Doc"]).Length];
                                    Buffer = (byte[])monReader["Doc"];
     
                                    Response.ContentType = "application/vnd.ms-pdf";
     
                                    Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", "doc.pdf"));
     
                                    Response.Flush();
     
                                    Response.BinaryWrite(Buffer);
                                    Response.End();
     
     
     
     
                                    monReader.Close();
                                }
    En espérant que cela t'aide.

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

Discussions similaires

  1. Ouvrir pdf dans VB
    Par GodGives dans le forum VB 6 et antérieur
    Réponses: 28
    Dernier message: 19/02/2008, 14h30
  2. Ouvrir PDF avec droits session
    Par prodi_64 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/02/2008, 13h01
  3. Réponses: 1
    Dernier message: 13/12/2007, 20h00
  4. [PDF] Ouvrir PDF dans l'explorateur par lien
    Par adrianclowes dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 17/11/2007, 18h48
  5. Réponses: 4
    Dernier message: 15/10/2007, 16h04

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