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#] Download


Sujet :

ASP.NET

  1. #1
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut [C#] Download
    Hello !
    Connaitriez vous la méthode pour faire un download d'un fichier depuis sur server web sur le PC du client ?
    J'ai trouvé des faq pour l'upload mais le download... :
    Merci...

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 35
    Par défaut
    Essaies ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //using System.NET;
    WebClient Client = new WebClient ();
    Client.DownloadFile("http://<a href="http://www.developpez.com/lefichieràtelecharger.exe"," target="_blank">www.developpez.com/lefichieràtelecharger.exe",</a> "path_local_fichier.exe");
    Voilà c'est très simple

    Ciao!

  3. #3
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut
    Impécable !
    Effectivement facile, quand on connait
    Merci encore.

  4. #4
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut
    Yop
    Si on fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Client.DownloadFile("http://<a href="http://www.developpez.com/lefichieràtelecharger.exe"," target="_blank">www.developpez.com/lefichieràtelecharger.exe",</a> "c:\\fichier.exe");
    On enregistre le fichier sur le server...et non sur le PC client. Comment indique-t-on que la copi doit ce faire en local ??

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 49
    Par défaut
    J'ai eu le même souci.
    En fait, c'est parce que ton code doit s'exécuter sur ton serveur. Donc il download sur lui-même en quelque sorte...
    Il faut donc utiliser l'upload !

    Essaye donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //using System.NET;
    WebClient Client = new WebClient ();
    Client.UploadFile("//NomDeTonClientSurTonRéseau/CheminOùTuVeuxEnregistrerLeFichierSurLeClient", "CheminDuFichierQueTuVeuxUploaderSurLeClient");
    Vérifie bien avant que le dossier où tu veux enregistrer le fichier sur ton client est partagé...

    Voilà ça devrait marcher cette fois-ci.

  6. #6
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut
    En effet ça ne risquait pas de marcher... mais comment fait-on pour obtenir le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ("//NomDeTonClientSurTonRéseau
    ?
    Merci encore.

  7. #7
    Expert confirmé

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Par défaut
    Salut,

    Suite à ton autre post, je suppose que c'est de l'aspx (J'édite ton titre , si ce n'est pas le cas - Enleve-le en editant ton 1er post )

    Donc tu peux aussi passer par une page destinée aux téléchargements (Ouvre la boite de téléchargement, mais tu ne peux pas y echapper )
    Tu l'y mets en argument le doc à télécharger (Session, url comme tu veux), puis tu modifies les headers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Response.AppendHeader("content-disposition","attachment; filename=NomAfficheDansBoite");
    Response.WriteFile( tondoc);
    A tester.

    Si tu as des pb, redemande, je dois avoir une page comme ca quelque part mais j'ai pas le temps de ragarder tout de suite

  8. #8
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut
    Suoer merci.
    Voilà un code complet pour les suivants:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    string filename = ConfigurationSettings.AppSettings["eSignServer_RootPath"] + "Download\\e-Sign Server Plugins.exe";
    System.IO.FileInfo file = new System.IO.FileInfo(filename);
    Response.Clear(); // clear the current output content from the buffer
    Response.AppendHeader("Content-Disposition", "attachment; filename=" + file.Name);
    Response.AppendHeader("Content-Length", file.Length.ToString());
    Response.ContentType = "application/octet-stream";
    Response.WriteFile(file.FullName);
    Response.End();
    A+

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 49
    Par défaut
    ... mais comment fait-on pour obtenir le: ("//NomDeTonClientSurTonRéseau
    Plutôt que le nom réseau, récupère l'adresse IP du client. Pour savoir coment faire, va voir ce post (1 ligne de code...). Je pense qu'il ya moyen de récupérer l'identifiant réseau, mais bon par l'ip ça passe sans problème.
    A voir sur :
    http://www.developpez.net/forums/vie...3&highlight=ip

    Mais bon si l'autre soluce proposée fonctionne, à toi de voir ce qui est le mieux. Ici, tu évites la fenêtre d'enregistrement, ça enregistre directement dans le répertoire client que tu veux, ça peut être pas mal pour certaines applications. Pour d'autres, tu préféreras la confirmation par le client. A toi de voir donc.

  10. #10
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut
    Merci pour c'est bonnes idées !!

  11. #11
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut
    Yop encore un souci.... (suite au code SI je telecharge le fichier, lorsque je retourne sur ma pagee web et que j'execute une action j'obtient une erreur non spécifiée.
    Je suppose que c'est parque j'ai perdu le contexte...?
    Est-ce que cela rappel quelque chose a quelqu'un ?

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2004
    Messages : 8
    Par défaut
    Citation Envoyé par Dos
    Suoer merci.
    Voilà un code complet pour les suivants:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    string filename = ConfigurationSettings.AppSettings["eSignServer_RootPath"] + "Download\\e-Sign Server Plugins.exe";
    System.IO.FileInfo file = new System.IO.FileInfo(filename);
    Response.Clear(); // clear the current output content from the buffer
    Response.AppendHeader("Content-Disposition", "attachment; filename=" + file.Name);
    Response.AppendHeader("Content-Length", file.Length.ToString());
    Response.ContentType = "application/octet-stream";
    Response.WriteFile(file.FullName);
    Response.End();
    A+

    J'utilise cette méthode, est-il possible de spécifier dans quel répertoire doit etre enregister le fichier, afin que l'utilisateur ai juste a cliquer sur enregister?

  13. #13
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Cette technique ne fait qu'envoyer le fichier vers le navigateur, c'est à lui à gérer cela.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2004
    Messages : 8
    Par défaut
    Ok c'est cool, merci.

  15. #15
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par freegreg
    Salut,
    Suite à ton autre post, je suppose que c'est de l'aspx (J'édite ton titre , si ce n'est pas le cas - Enleve-le en editant ton 1er post )
    Ben jcroyais que le tag [aspx] n'était plus necessaire
    http://www.developpez.net/forums/viewtopic.php?t=334167

  16. #16
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Citation Envoyé par neguib
    Ben jcroyais que le tag [aspx] n'était plus necessaire
    http://www.developpez.net/forums/viewtopic.php?t=334167


    Effectivement

  17. #17
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Dos Voir le message
    Suoer merci.
    Voilà un code complet pour les suivants:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    string filename = ConfigurationSettings.AppSettings["eSignServer_RootPath"] + "Download\\e-Sign Server Plugins.exe";
    System.IO.FileInfo file = new System.IO.FileInfo(filename);
    Response.Clear(); // clear the current output content from the buffer
    Response.AppendHeader("Content-Disposition", "attachment; filename=" + file.Name);
    Response.AppendHeader("Content-Length", file.Length.ToString());
    Response.ContentType = "application/octet-stream";
    Response.WriteFile(file.FullName);
    Response.End();
    A+
    Merci beaucoup, je recherchais un moyen simple de faire cela, et ce morceau de code m'a beaucoup aidé

    Cordialement,

    PierreAd


    PS : Si ça, c'est pas une belle remontée de topic...

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

Discussions similaires

  1. [STRUTS][DOWNLOAD] download d'un fichier via une action
    Par FreshVic dans le forum Struts 1
    Réponses: 3
    Dernier message: 16/04/2004, 16h38
  2. [servlet][api][download] Où trouver la lib servlet.jar ?
    Par cpr0 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 03/02/2004, 21h07
  3. Idhttp et vitesse de download ?
    Par slashi dans le forum Web & réseau
    Réponses: 4
    Dernier message: 23/11/2003, 20h48
  4. [download] que me faut-il ??
    Par terziann dans le forum Débuter
    Réponses: 2
    Dernier message: 03/07/2003, 15h58
  5. [Kylix] [Kylix] download
    Par jean christophe dans le forum EDI
    Réponses: 2
    Dernier message: 10/12/2002, 15h01

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