Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 11 sur 11
  1. #1
    Membre régulier
    Homme Profil pro
    Informatique en tant qu'autodidacte passionné
    Inscrit en
    mars 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Informatique en tant qu'autodidacte passionné
    Secteur : Santé

    Informations forums :
    Inscription : mars 2009
    Messages : 140
    Points : 72
    Points
    72

    Par défaut Lien de téléchargement de fichier dans une page

    Bonjour, et très bonne année 2013 à toutes et à tous

    Sur une page .aspx , j'ai mis un lien de téléchargement vers un fichier comme ceci :

    Code :
    1
    2
     <asp:HyperLink ID="HyperLink2" runat="server" 
              NavigateUrl="~/membres/telecharger/Exemple.pdf">Exemple</asp:HyperLink>
    Dès que ce lien (Exemple) est cliqué, ce fichier s'ouvre automatiquement dans le navigateur, et c'est à ce moment que l'internaute peut l'enregistrer sur son poste de travail.

    Mes questions:

    1/ Comment empêcher l'ouverture automatique du fichier avec le clic gauche?
    2/ Comment faire apparaître la fenêtre du commande du navigateur ( proposant les différentes options : enregistrement, ouvrir...) , sans sans avoir recours auclic droit ?
    3/ Comment faire pour associer à chaque fichier son icône correspondante et où trouver toutes ces icônes : Word, Excel, PDF,ODT...?

    Merci

  2. #2
    Expert Confirmé Sénior
    Avatar de Immobilis
    Inscrit en
    mars 2004
    Messages
    6 551
    Détails du profil
    Informations forums :
    Inscription : mars 2004
    Messages : 6 551
    Points : 7 246
    Points
    7 246

    Par défaut

    Salut,

    Beaucoup de question dans un seul fil. Tout cela se gère via le code. Nativement, un lien hypertexte est juste un pointeur vers une ressource hébergée dans ton site.

    Citation Envoyé par Publicnew Voir le message
    1/ Comment empêcher l'ouverture automatique du fichier avec le clic gauche?
    C'est un comportement de ton navigateur. Il faudrait déactiver le menu contextuel du navigateur via un javascript. A voir sur le forum.
    Citation Envoyé par Publicnew Voir le message
    2/ Comment faire apparaître la fenêtre du commande du navigateur ( proposant les différentes options : enregistrement, ouvrir...), sans sans avoir recours auclic droit ?
    Il faut que ton code se substitue au comportement de IIS. Il faut que ta page renvoi le flux binaire du fichier sous la forme d'un fichier attaché.
    Citation Envoyé par Publicnew Voir le message
    3/ Comment faire pour associer à chaque fichier son icône correspondante et où trouver toutes ces icônes : Word, Excel, PDF,ODT...?
    Quand tu connais le type du fichier ver lequel pointe ton lien tu ajoutes l'image correspondante ou tu appliques un style.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre régulier
    Homme Profil pro
    Informatique en tant qu'autodidacte passionné
    Inscrit en
    mars 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Informatique en tant qu'autodidacte passionné
    Secteur : Santé

    Informations forums :
    Inscription : mars 2009
    Messages : 140
    Points : 72
    Points
    72

    Par défaut

    Citation Envoyé par Immobilis Voir le message
    Salut,
    Il faut que ton code se substitue au comportement de IIS. Il faut que ta page renvoi le flux binaire du fichier sous la forme d'un fichier attaché.
    A+
    Bonsoir,

    Comment mettre concrètement en oeuvre ce code : le flux binaire du fichier sous la forme d'un fichier attaché renvoyé par la page (en VB.NET).

    Y a t'il quelque chose à écrire dans la page de code aspx.vb, ou source .aspx ?

    Merci

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2011
    Messages : 453
    Points : 404
    Points
    404

    Par défaut

    Bonjour,

    Il faut que tu fasses un truc du genre :

    Code :
    1
    2
    3
    4
    5
     
    Response.HeaderEncoding = System.Text.Encoding.UTF8
    Response.AppendHeader("Content-Disposition", "attachment; filename=" & tonDocument)
    Response.TransmitFile(tonDocument)
    Response.End()
    Et le navigateur (IE en tout cas c'est sûr) te demanderas ce que tu veux faire du fichier.

  5. #5
    Expert Confirmé Sénior
    Avatar de Immobilis
    Inscrit en
    mars 2004
    Messages
    6 551
    Détails du profil
    Informations forums :
    Inscription : mars 2004
    Messages : 6 551
    Points : 7 246
    Points
    7 246

    Par défaut

    Citation Envoyé par Publicnew Voir le message
    Comment mettre concrètement en oeuvre ce code : le flux binaire du fichier sous la forme d'un fichier attaché renvoyé par la page (en VB.NET).

    Y a t'il quelque chose à écrire dans la page de code aspx.vb, ou source .aspx ?
    Tu peux faire une recherche de "Response BinaryWrite" sur les forums.
    Sinon, y'a un bout de code dans ce tuto: http://immobilis.developpez.com/tuto...grace-a-excel/. Voir la dernière méthode du paragraphe IV-B: "Méthode permettant l'envoi du fichier XML au client".

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  6. #6
    Membre régulier
    Homme Profil pro
    Informatique en tant qu'autodidacte passionné
    Inscrit en
    mars 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Informatique en tant qu'autodidacte passionné
    Secteur : Santé

    Informations forums :
    Inscription : mars 2009
    Messages : 140
    Points : 72
    Points
    72

    Par défaut

    Citation Envoyé par Immobilis Voir le message
    Tu peux faire une recherche de "Response BinaryWrite" sur les forums.
    Sinon, y'a un bout de code dans ce tuto: http://immobilis.developpez.com/tuto...grace-a-excel/. Voir la dernière méthode du paragraphe IV-B: "Méthode permettant l'envoi du fichier XML au client".

    A+
    Bonsoir,

    J'ai lu ton tutoriel qui semble plus traiter de Sérialisation/Désérialisation pour les fichiers .xml
    Pour la recherche "Response BinaryWrite", et même sur "Télécharger un fichier", j'ai trouvé plusieurs réponses, mais aucune ne semble s'adapter à ce que je cherche

    A +

  7. #7
    Membre régulier
    Homme Profil pro
    Informatique en tant qu'autodidacte passionné
    Inscrit en
    mars 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Informatique en tant qu'autodidacte passionné
    Secteur : Santé

    Informations forums :
    Inscription : mars 2009
    Messages : 140
    Points : 72
    Points
    72

    Par défaut

    Citation Envoyé par Shadam Voir le message
    Bonjour,

    Il faut que tu fasses un truc du genre :

    Code :
    1
    2
    3
    4
    5
     
    Response.HeaderEncoding = System.Text.Encoding.UTF8
    Response.AppendHeader("Content-Disposition", "attachment; filename=" & tonDocument)
    Response.TransmitFile(tonDocument)
    Response.End()
    Et le navigateur (IE en tout cas c'est sûr) te demanderas ce que tu veux faire du fichier.
    Bonsoir,

    Merci d'avoir essayé de m'aider.


    J'ai essayé de m'inspirer de plusieurs codes trouvés sur le forum, mis je n'ai pas réussi à trouver ce que je souhaitais .

    Chaque solution trouvée est spécifique.

    Par exemple celle-ci : d'un membre de ce forum nommé eclisse

    Code :
    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
    response.Clear
    Response.AddHeader "Content-Disposition","attachment; filename=asp.pdf"
    fn = "asp.pdf" 
    FPath = server.MapPath(fn)
    Response.AddHeader "Content-Disposition", "attachment; filename=" & fn 
     
    Set adoStream = CreateObject("ADODB.Stream") 
    chunk = 2048 
    adoStream.Open() 
    adoStream.Type = 1 
    adoStream.LoadFromFile(FPath) 
    iSz = adoStream.Size 
    Response.AddHeader "Content-Length", iSz 
    For i = 1 To iSz \ chunk 
    	If Not Response.IsClientConnected Then Exit For 
    	Response.BinaryWrite adoStream.Read(chunk) 
    Next 
     
    If iSz Mod chunk > 0 Then 
    	If Response.IsClientConnected Then 
    		Response.BinaryWrite adoStream.Read(iSz Mod chunk) 
    	End If 
    End If 
     
    adoStream.Close 
    Set adoStream = Nothing 
    Response.End
    Le problème :
    Je ne sais pas à quel évènement la lier dans la partie de ma page telecharger.aspx.vb

    Ce que je souhaite :
    Par exemple une liste de liens à télécharger :

    1/dans une page nommée telecharger.aspx :

    exemple1 (qui correspondra dans le code caché à exemple1.pdf)
    exemple2 (qui correspondra dans le code caché à exemple2.xls)
    exemple3 (qui correspondra dans le code caché à exemple3.doc)
    exemple4 (qui correspondra dans le code caché à exemple4.jpg)
    exemple5 (qui correspondra dans le code caché à exemple5.gif)

    2/ et que cela ouvre la fenêtre Enregistrer Sous: sur le poste de travail du poste client

    Question:
    Quel est le code à mettre en oeuvre pour réaliser cet exemple de page qu'on trouve sur les sites du monde entier qui proposent des liens de téléchargements (si possible en VB.NET)

    Pardonnez-moi cette demande "excessive", je ne suis pas à l'aise avec le C#

    Je n'ai pas trouvé de tutoriel sur ce sujet.

    Merci de m'avoir répondu

  8. #8
    Membre régulier
    Homme Profil pro
    Informatique en tant qu'autodidacte passionné
    Inscrit en
    mars 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Informatique en tant qu'autodidacte passionné
    Secteur : Santé

    Informations forums :
    Inscription : mars 2009
    Messages : 140
    Points : 72
    Points
    72

    Par défaut

    Bonjour,

    J'ai enfin trouvé la solution...( par hasard)

    Mon navigateur (I.E), lorsqu'il ne s'agit pas de fichiers de type : image, vidéo ou pdf (pour lesquels le mystère reste entier), ouvre systématiquement la fenêtre proposant les différentes actions : Ouvrir, Enregistrer, Enregistrer sous.

    J'ai ainsi, introduit plusieurs liens Hyperlink pour les fichiers de type : .exe , .doc,. xls

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    <asp:HyperLink ID="DOC" runat="server" 
                NavigateUrl="~/Resssources/reunion de bureau novembre.doc">Fichier type DOC</asp:HyperLink>
     
    <asp:HyperLink ID="EXE" runat="server" 
                NavigateUrl="~/Ressources/Plug-in_messagerie_vocale_888.exe">Fichier type EXE</asp:HyperLink>
     
    <asp:HyperLink ID="HyperLink3" runat="server" 
                NavigateUrl="~/Resssources/Copie de Liste des jeudi 2012-2013  2.xls">Fichier type Excel</asp:HyperLink>
    et, avec le clic gauche sur le lien du fichier de type doc, voici la fenêtre qui s'ouvre:

    Merci à Immobilis et à Shadam
    Images attachées Images attachées

  9. #9
    Expert Confirmé Sénior
    Avatar de Immobilis
    Inscrit en
    mars 2004
    Messages
    6 551
    Détails du profil
    Informations forums :
    Inscription : mars 2004
    Messages : 6 551
    Points : 7 246
    Points
    7 246

    Par défaut

    Citation Envoyé par Publicnew Voir le message
    J'ai ainsi, introduit plusieurs liens Hyperlink pour les fichiers de type : .exe , .doc,. xls

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    <asp:HyperLink ID="DOC" runat="server" 
                NavigateUrl="~/Resssources/reunion de bureau novembre.doc">Fichier type DOC</asp:HyperLink>
     
    <asp:HyperLink ID="EXE" runat="server" 
                NavigateUrl="~/Ressources/Plug-in_messagerie_vocale_888.exe">Fichier type EXE</asp:HyperLink>
     
    <asp:HyperLink ID="HyperLink3" runat="server" 
                NavigateUrl="~/Resssources/Copie de Liste des jeudi 2012-2013  2.xls">Fichier type Excel</asp:HyperLink>
    Et en quoi cela change de ce que tu avais écris au début??
    Citation Envoyé par Publicnew Voir le message
    Code :
    1
    2
     <asp:HyperLink ID="HyperLink2" runat="server" 
              NavigateUrl="~/membres/telecharger/Exemple.pdf">Exemple</asp:HyperLink>
    Du coup, cela ne répond pas à tes interrogations...
    Citation Envoyé par Publicnew Voir le message
    Mes questions:

    1/ Comment empêcher l'ouverture automatique du fichier avec le clic gauche?
    2/ Comment faire apparaître la fenêtre du commande du navigateur ( proposant les différentes options : enregistrement, ouvrir...) , sans sans avoir recours auclic droit ?
    3/ Comment faire pour associer à chaque fichier son icône correspondante et où trouver toutes ces icônes : Word, Excel, PDF,ODT...?
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  10. #10
    Membre régulier
    Homme Profil pro
    Informatique en tant qu'autodidacte passionné
    Inscrit en
    mars 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Informatique en tant qu'autodidacte passionné
    Secteur : Santé

    Informations forums :
    Inscription : mars 2009
    Messages : 140
    Points : 72
    Points
    72

    Par défaut

    Citation Envoyé par Immobilis Voir le message
    Et en quoi cela change de ce que tu avais écris au début??
    Du coup, cela ne répond pas à tes interrogations...A+
    Bonjour,

    A/ Par rapport à ce que j'ai écrit au début:

    1/ Les fichiers .doc .xls .exe , lancent la fenêtre d'enregistrement du navigateur.

    2/ Les fichiers .jpg .png .gif .mov .pdf s'ouvrent dans le navigateur, en effet d'emblée, par le clic gauche, sans rien demander à l'internaute.

    B/ Cela ne répond pas en effet à toutes mes interrogations. Tu as raison.
    J'enlève donc le Tag "Résolu"

  11. #11
    Expert Confirmé Sénior
    Avatar de Immobilis
    Inscrit en
    mars 2004
    Messages
    6 551
    Détails du profil
    Informations forums :
    Inscription : mars 2004
    Messages : 6 551
    Points : 7 246
    Points
    7 246

    Par défaut

    Peux-tu:
    1/ Comment empêcher l'ouverture automatique du fichier avec le clic gauche?
    Ouvrir un fil dans le forum JavaScript.
    3/ Comment faire pour associer à chaque fichier son icône correspondante et où trouver toutes ces icônes : Word, Excel, PDF,ODT...?
    Ouvrir une nouvelle discussion dans ce forum.
    Pour:
    2/ Comment faire apparaître la fenêtre du commande du navigateur ( proposant les différentes options : enregistrement, ouvrir...) , sans sans avoir recours auclic droit ?
    On va y répondre dans cette discussion.
    "Winter is coming" (ma nouvelle page d'accueil)

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •