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 :

[C# 1.1] Comment ouvrir un fichier PDF ?


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 64
    Points : 69
    Points
    69
    Par défaut [C# 1.1] Comment ouvrir un fichier PDF ?
    salut,
    j'ai créé un linkbutton pour effectuer un téléchargement d'un fichier pdf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    Response.ContentType="application/pdf";
    Response.AddHeader("Content-Disposition","attachment; filename="+Fi.Name);
    Response.AddHeader("Content-Length", Fi.Length.ToString());
    Response.AddHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
    Response.AddHeader("Pragma", "no-cache");
    Response.AddHeader("Expires", 0);
    Response.WriteFile(Fi.FullName,0,Fi.Length);
    Response.Flush();			
    Response.Close();
    quand je click sur le link, j'ai une fenêtre qui me propose d'ouvrir ou de télécharger le fichier.
    le téléchargement marche très bien, mais quand je fais ouvrir,adobe reader me sort une erreur comme quoi le fichier est introuvable. (j'ai essayé d'ajouter les entêtes content-location et location, pareil)

    si quelqu'un a une idée.
    merci

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 35
    Points
    35
    Par défaut
    Salut,
    tu dois flusher avant l'ouverture et changer writefile(nomfichier):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Response.ContentType="application/pdf";
    Response.AddHeader("Content-Disposition","attachment; filename="+Fi.Name);
    Response.AddHeader("Content-Length", Fi.Length.ToString());
    Response.AddHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
    Response.AddHeader("Pragma", "no-cache");
    Response.AddHeader("Expires", 0);
    Response.Flush();	
    Response.WriteFile(Fi.FullName);
     
    Response.Close();

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 64
    Points : 69
    Points
    69
    Par défaut
    Merci pour ta réponse, mais ça ne marche pas, toujours le même problême :fichier introuvable.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 35
    Points
    35
    Par défaut
    Alors lors de création de ton fichier tu n'as pas spécifé le chemin complet de ton fichier:
    new File(chemin du fichier) pas le nom de fichier.

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Je viens d'essayer mais je me retrouve avec le meme probleme que iamspacy..

    faut-il que les fichiers à telecharger soit dans un sous-repertoire du site pour que ce code fonctionne?

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    Dans mon application je procède comme ca et cela marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Response.ClearHeaders();
    Response.ClearContent();
    Response.ContentType = "application/pdf";
    -- Construction de mon buffer --			
    Response.BinaryWrite(oBuffer);
    Response.Flush();
    Response.End();
    Le Response.End() corrige t'il votre problème ?

  7. #7
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    salut,

    En fait en écrivant simplement ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Response.ContentType="application/pdf";
    Response.AddHeader("Content-Disposition","attachment; filename="+ NomDuFichier);
    Response.WriteFile(CheminDaccesFichier);
    Response.Flush();	
    Response.Close();
    Ca fonctionne correctement.. pourquoi alors la aucune idée

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 64
    Points : 69
    Points
    69
    Par défaut
    merci corback, ca marche aussi, mais le soucis c'est que je perds le nom du fichier quand j'enregistre le pdf (il prends le nom de la page!!)

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 35
    Points
    35
    Par défaut
    tu dois simplement rajouter :
    Response.Clear();
    au début de ron code

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 64
    Points : 69
    Points
    69
    Par défaut
    marche pas
    quand je dis enregistre (c'est l'icone disquette qui se trouve dans adobe reader )

    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
     
     
    Response.Clear();
    Response.ClearHeaders();
    Response.ClearContent();
    Response.ContentType="application/pdf";
    Response.Expires=0;
    Response.AddHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
    Response.AddHeader("Pragma", "no-cache");
     
    byte[] b=new byte[Fi.Length];
    FileStream Fs=new FileStream(Fi.FullName,FileMode.Open);
    BinaryReader Br=new BinaryReader(Fs);
    Br.Read(b,0,b.Length);
    Br.Close();
    Fs.Close();
     
    Response.BinaryWrite(b);
    Response.Flush();
    Response.End();

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 35
    Points
    35
    Par défaut
    Je ne comprends pas pourquoi tu veux utiliser streamfile et un tableau pour te compliquer la vie.

    utilise transmitfile ou writefile.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 64
    Points : 69
    Points
    69
    Par défaut
    ,c'est pareil,on perd toujours le nom du fichier

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/07/2012, 19h27
  2. Question bête:Comment ouvrir un fichier pdf dans le browser IE?
    Par karibouxe dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 19/05/2006, 17h51
  3. comment ouvrir un fichier excel ?
    Par vdavid1982 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/07/2005, 12h05
  4. Réponses: 9
    Dernier message: 20/06/2005, 16h47
  5. Comment ouvrir un Fichier d'aide perso
    Par NoBru dans le forum Access
    Réponses: 4
    Dernier message: 09/12/2004, 08h43

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