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 :

Nommer le fichier PDF avec un Response.BinaryWrite() c#


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Nommer le fichier PDF avec un Response.BinaryWrite() c#
    Bonjour, j'ai besoin d'aide,

    J'ai une page aspx qui écrit un tableau de byte[] dans la page HTML, le tableau représente un fichier PDF. Le nom de la page qui fait cela s'appelle logout.aspx?param1=xx&param2=xx

    Mon probléme est le suivant: Acrobat Reader ouvre correctement le PDF dans ie, le problème est que si l'utilisateur souhaite sauver le fichier grâce au bouton d'Acrobat Reader le nom par défaut du fichier à sauvegarder est le nom de la page suivie de l'extension 'pdf' => logout.pdf
    Comment faire pour piloter ce nom par défaut si la personne souhaite enregistrer le fichier sur son disque dur.

    Voici le code utilisé:

    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
     
    myConn = new SqlConnection(strCnx);
    myConn.Open();
    myCmd = new SqlCommand("SELECT FileData, FileType, FileSize FROM ItemFile where (ItemId = @ItemId) AND (FileId = @FileId)", myConn);
    myCmd.CommandType = CommandType.Text;
    myCmd.Parameters.AddWithValue("@ItemId", ReqItemId);
    myCmd.Parameters.AddWithValue("@FileId", ReqFileId);
    myReader = myCmd.ExecuteReader();
    myReader.Read();
     
    if (!myReader.IsDBNull(0)) // Vérifie que la colonne FileData n'est pas vide
    {
    	Response.Clear();
    	Response.ClearHeaders();
    	Response.ClearContent();
     
    	Response.ContentEncoding = System.Text.Encoding.UTF8;
    	Response.ContentType = myReader["FileType"].ToString(); // Set the ContentType of the file
     
    	// Pour proposer le fichier en téléchargement uniquement 
    	// Response.AddHeader("Content-Disposition", "attachment; filename=" + "[nomfichier.extension]");
    	Response.AddHeader("Content-Disposition", "inline;");
     
    	Response.BinaryWrite((byte[])(myReader["FileData"]));
    	Response.Flush();
    	Response.End();
    }
    else
    	lblInfo.Text = ("Aucun fichier trouvé");

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Points : 30
    Points
    30
    Par défaut
    bonjour,

    il est possible de rajouter un attribut "filename" dans le header :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    response.AddHeader("Content-Disposition", "inline; filename=nom_du_fichier.pdf;")
    Je suis loin d'être un expert dotnet mais ceci devrait fonctionner.

    @++

  3. #3
    Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour, merci pour ta réponse winnux mais j'ai oublié, dans mon post, de préciser que j'avais déjà essayé de faire ça. Et malheureusement ça ne fonctionne pas.

    Le paramêtre filename=nom_du_fichier.pdf; fonctionne dans le cas ou la Response doit se faire sous forme d'attachement.

    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Response.AddHeader("Content-Disposition", "attachment; filename=" + "[nomfichier.extension]");
    Là effectivement lorsque la boite de dialogue windows apparait, le nom du fichier à enregistrer peut être piloter grâce au param "filename"

    Quelqu'un aurait une solution à mon probléme.

    Merci pour votre aide.

  4. #4
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Change le nom de ta page

  5. #5
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par alexfayard Voir le message

    Le paramêtre filename=nom_du_fichier.pdf; fonctionne dans le cas ou la Response doit se faire sous forme d'attachement.
    Bonjour,

    Je sais que le sujet est un peu vieux mais as tu trouvé la solution ?

    J'ai exactement le même problème et je ne vois pas comment faire. Je ne peux pas changer le nom de ma page et je veux rester en inline.

    Merci d'avance

  6. #6
    Membre à l'essai
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par vincep Voir le message
    Bonjour,

    Je sais que le sujet est un peu vieux mais as tu trouvé la solution ?

    J'ai exactement le même problème et je ne vois pas comment faire. Je ne peux pas changer le nom de ma page et je veux rester en inline.

    Merci d'avance
    une solution ou toujours rien ?

  7. #7
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Fourche Voir le message
    une solution ou toujours rien ?
    Non, désolé, je n'ai rien trouvé d'autre mais je suis toujours preneur d'une solution.

Discussions similaires

  1. [FPDF] Créer un fichier pdf avec PHP
    Par picoloto dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 24/09/2008, 23h05
  2. Ouvrir un fichier Pdf avec access
    Par willytito dans le forum Access
    Réponses: 1
    Dernier message: 13/08/2006, 20h37
  3. [FPDF] Génération de fichiers PDF avec PHP
    Par deY! dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 10/04/2006, 18h06
  4. [FPDF] Cherche informations pour afficher un fichier pdf avec PHP
    Par Hans_B dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 22/03/2006, 12h57
  5. nommer un fichier texte avec la date du jour
    Par avantoux dans le forum Windows
    Réponses: 4
    Dernier message: 02/02/2006, 10h57

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