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 :

Composant Graphique pour choisir un dossier destinataire ?


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2008
    Messages : 96
    Points : 44
    Points
    44
    Par défaut Composant Graphique pour choisir un dossier destinataire ?
    Bonjour,

    Je cherche u comosant graphique asp.net qui permet de choisir un dossier
    à partir de disque dans-lequel je vais sauvegarder un fichier.

    Merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2009
    Messages : 133
    Points : 158
    Points
    158
    Par défaut
    Citation Envoyé par sayfouche Voir le message
    Bonjour,

    Je cherche u comosant graphique asp.net qui permet de choisir un dossier
    à partir de disque dans-lequel je vais sauvegarder un fichier.

    Merci d'avance
    Bonjour,
    Tu veux envoyer un fichier sur le serveur et ensuite le mettre dans un dossier bien précis, si c'est cela alors tu vas le faire en 2 étapes :
    1. composant FileUpload qui va envoyer le fichier vers le serveur
    2. ensuite tu fais ce que tu veux du fichier !
    Jettes un oeil à ce bout de code s'il correspond à ce que tu veux faire :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    protected void BtnUpload_Click(object sender, EventArgs e)
        {
            if (FileUpload1.HasFile)
                try
                {
                    //point d'entrée général!!!
                    string repGlobal = ConfigurationManager.AppSettings["RepertoireDocuments"];
     
                    string myFolder = String.Empty;
                    string repDocums = String.Empty;
                    string repImages = String.Empty;
                    //string repVideos = String.Empty;
     
                    //est-ce que l'user a défini un répertoire physique?? 
                    if (!String.IsNullOrEmpty(repGlobal))
                    {
                        //répertoire dédié Documents!!
                        repDocums = System.IO.Path.Combine(repGlobal, "Documents\\");
     
                        //on le créé s'il n'existe pas!!
                        if (!System.IO.Directory.Exists(repDocums))
                            System.IO.Directory.CreateDirectory(repDocums);
     
                        //répertoire Images!!
                        repImages = System.IO.Path.Combine(repGlobal, "Images\\");
                        if (!System.IO.Directory.Exists(repImages))
                            System.IO.Directory.CreateDirectory(repImages);
                    }
                    else
                    {
                        // "~/Data/Documents/" : celui-ci existe tjrs!! 
                        repDocums = HttpContext.Current.Server.MapPath("~/Data/Documents/");
                        repImages = HttpContext.Current.Server.MapPath("~/Data/Images/");
                    }
     
                    //nom de sauvegarde généré automatiquement !
                    string nomcourt = System.IO.Path.GetRandomFileName();   // Guid.NewGuid().ToString();
                    //extension du fichier d'origine ! 
                    string ext = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);
                    //nom de sauvegarde ! 
                    string nomsvgde = System.IO.Path.ChangeExtension(nomcourt, ext);
     
                    //Nomphysique : nom system (50char)
                    NomphysTextBox.Text = nomsvgde;
                    //Nomdocument : nom donné au document, modifiable par l'user (512char)
                    NomdocTextBox.Text = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName);
     
                    //si c'est une image on sauvegarde dans le dossier dédié!!!
                    string typefic = FileUpload1.PostedFile.ContentType;
                    if (typefic.StartsWith("image") || typefic.StartsWith("video") || typefic.StartsWith("audio"))
                    {
                        myFolder = repImages;
                    }
                    else
                    {
                        myFolder = repDocums;
                    }
     
                    //on sauvegarde, on sauvegarde sur le serveur ! 
                    FileUpload1.SaveAs(myFolder + nomsvgde);
     
                    //info après sauvegarde ! 
                    LabelMessage.Text = "Nom du fichier: " +
                         FileUpload1.PostedFile.FileName + "<br>" +
                         FileUpload1.PostedFile.ContentLength + " kb<br>" +
                         "Content type: " +
                         FileUpload1.PostedFile.ContentType + "<br>" +
                         "Sauvegardé sous : " + nomsvgde;
                }
                catch (Exception ex)
                {
                    NomphysTextBox.Text = "";
                    NomdocTextBox.Text = "";
                    LabelMessage.Text = "ERREUR: " + ex.Message.ToString();
                }
            else
            {
                LabelMessage.Text = "Vous devez sélectionner un fichier, absolument!";
            }
        }
    nachtigal!!

  3. #3
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2008
    Messages : 96
    Points : 44
    Points
    44
    Par défaut
    Merci pour votre réponse,

    mais en fait, le fichier est déja prete (fichier excel remplit à partir de BD)
    l'utilisateur il vas clicker sur export. pour avoir un copie sur le son disque.
    donc plutot je cherche un simple composant graphique qui fait le browsing des dossiers


    Citation Envoyé par nachtigal Voir le message
    Bonjour,
    Tu veux envoyer un fichier sur le serveur et ensuite le mettre dans un dossier bien précis, si c'est cela alors tu vas le faire en 2 étapes :
    1. composant FileUpload qui va envoyer le fichier vers le serveur
    2. ensuite tu fais ce que tu veux du fichier !
    Jettes un oeil à ce bout de code s'il correspond à ce que tu veux faire :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    protected void BtnUpload_Click(object sender, EventArgs e)
        {
            if (FileUpload1.HasFile)
                try
                {
                    //point d'entrée général!!!
                    string repGlobal = ConfigurationManager.AppSettings["RepertoireDocuments"];
     
                    string myFolder = String.Empty;
                    string repDocums = String.Empty;
                    string repImages = String.Empty;
                    //string repVideos = String.Empty;
     
                    //est-ce que l'user a défini un répertoire physique?? 
                    if (!String.IsNullOrEmpty(repGlobal))
                    {
                        //répertoire dédié Documents!!
                        repDocums = System.IO.Path.Combine(repGlobal, "Documents\\");
     
                        //on le créé s'il n'existe pas!!
                        if (!System.IO.Directory.Exists(repDocums))
                            System.IO.Directory.CreateDirectory(repDocums);
     
                        //répertoire Images!!
                        repImages = System.IO.Path.Combine(repGlobal, "Images\\");
                        if (!System.IO.Directory.Exists(repImages))
                            System.IO.Directory.CreateDirectory(repImages);
                    }
                    else
                    {
                        // "~/Data/Documents/" : celui-ci existe tjrs!! 
                        repDocums = HttpContext.Current.Server.MapPath("~/Data/Documents/");
                        repImages = HttpContext.Current.Server.MapPath("~/Data/Images/");
                    }
     
                    //nom de sauvegarde généré automatiquement !
                    string nomcourt = System.IO.Path.GetRandomFileName();   // Guid.NewGuid().ToString();
                    //extension du fichier d'origine ! 
                    string ext = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);
                    //nom de sauvegarde ! 
                    string nomsvgde = System.IO.Path.ChangeExtension(nomcourt, ext);
     
                    //Nomphysique : nom system (50char)
                    NomphysTextBox.Text = nomsvgde;
                    //Nomdocument : nom donné au document, modifiable par l'user (512char)
                    NomdocTextBox.Text = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName);
     
                    //si c'est une image on sauvegarde dans le dossier dédié!!!
                    string typefic = FileUpload1.PostedFile.ContentType;
                    if (typefic.StartsWith("image") || typefic.StartsWith("video") || typefic.StartsWith("audio"))
                    {
                        myFolder = repImages;
                    }
                    else
                    {
                        myFolder = repDocums;
                    }
     
                    //on sauvegarde, on sauvegarde sur le serveur ! 
                    FileUpload1.SaveAs(myFolder + nomsvgde);
     
                    //info après sauvegarde ! 
                    LabelMessage.Text = "Nom du fichier: " +
                         FileUpload1.PostedFile.FileName + "<br>" +
                         FileUpload1.PostedFile.ContentLength + " kb<br>" +
                         "Content type: " +
                         FileUpload1.PostedFile.ContentType + "<br>" +
                         "Sauvegardé sous : " + nomsvgde;
                }
                catch (Exception ex)
                {
                    NomphysTextBox.Text = "";
                    NomdocTextBox.Text = "";
                    LabelMessage.Text = "ERREUR: " + ex.Message.ToString();
                }
            else
            {
                LabelMessage.Text = "Vous devez sélectionner un fichier, absolument!";
            }
        }
    nachtigal!!

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2009
    Messages : 133
    Points : 158
    Points
    158
    Par défaut
    ok, je vois!
    google ("asp.net browsing folder")
    ... par exemple cet excellent article : File System Browsing
    devrait répondre à ton souci !!
    nachtigal!!

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2009
    Messages : 133
    Points : 158
    Points
    158
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     protected void lnbDownloadFile_Click(object sender, EventArgs e)
     {
      String YourFilepath;
      System.IO.FileInfo file = 
      new System.IO.FileInfo(YourFilepath); // full file path on disk
      Response.ClearContent(); // neded to clear previous (if any) written content
      Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
      Response.AddHeader("Content-Length", file.Length.ToString());
      Response.ContentType = "text/plain";
      Response.TransmitFile(file.FullName);
      Response.End();
     }
    Ceci ouvre une boite de dialogue et permet à l'utilisateur de sélectionner le dossier où il va sauvegarder son fichier !!
    nachtigal!!

  6. #6
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2008
    Messages : 96
    Points : 44
    Points
    44
    Par défaut
    Merci beacoup Nashtigal !!
    je vais l'éssayer.

    Citation Envoyé par nachtigal Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     protected void lnbDownloadFile_Click(object sender, EventArgs e)
     {
      String YourFilepath;
      System.IO.FileInfo file = 
      new System.IO.FileInfo(YourFilepath); // full file path on disk
      Response.ClearContent(); // neded to clear previous (if any) written content
      Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
      Response.AddHeader("Content-Length", file.Length.ToString());
      Response.ContentType = "text/plain";
      Response.TransmitFile(file.FullName);
      Response.End();
     }
    Ceci ouvre une boite de dialogue et permet à l'utilisateur de sélectionner le dossier où il va sauvegarder son fichier !!
    nachtigal!!

  7. #7
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2008
    Messages : 96
    Points : 44
    Points
    44
    Par défaut
    Le boite de dialogue ouvert avec ce code est d'ouvir/saiverder le fichier indiquer
    j'ai remplacer le fichier par un dossier mais ça aboutit à rien

    Citation Envoyé par nachtigal Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     protected void lnbDownloadFile_Click(object sender, EventArgs e)
     {
      String YourFilepath;
      System.IO.FileInfo file = 
      new System.IO.FileInfo(YourFilepath); // full file path on disk
      Response.ClearContent(); // neded to clear previous (if any) written content
      Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
      Response.AddHeader("Content-Length", file.Length.ToString());
      Response.ContentType = "text/plain";
      Response.TransmitFile(file.FullName);
      Response.End();
     }
    Ceci ouvre une boite de dialogue et permet à l'utilisateur de sélectionner le dossier où il va sauvegarder son fichier !!
    nachtigal!!

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2009
    Messages : 133
    Points : 158
    Points
    158
    Par défaut
    Copie/colle ton code et explique exactement ce que tu veux, nous nous efforcerons de t'aider !!
    nachtigal!!

  9. #9
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2008
    Messages : 96
    Points : 44
    Points
    44
    Par défaut
    voila mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    protected void Button1_Click(object sender, EventArgs e)
            {
                String YourFilepath = @"D:\file.csv";
                System.IO.FileInfo file = 
                new System.IO.FileInfo(YourFilepath); // full file path on disk
                Response.ClearContent(); // neded to clear previous (if any) written content
                Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
                Response.AddHeader("Content-Length", file.Length.ToString());
                Response.ContentType = "text/plain";
                Response.TransmitFile(file.FullName);
                Response.End();
            }
    j'ai une boite de dialogue qui va sauverder le fichier dans le dossier de telechergement
    et elle me donne pas le choix de sélectionner un dossier destinataire
    en fait, dans la boite de dialogue, l'utilisateur doit choisir un dossier.

    Citation Envoyé par nachtigal Voir le message
    Copie/colle ton code et explique exactement ce que tu veux, nous nous efforcerons de t'aider !!
    nachtigal!!

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2009
    Messages : 133
    Points : 158
    Points
    158
    Par défaut
    Bonjour sayfouche,
    C'est bizarre ce que tu rapportes là dans la mesure où dès que l'utilisateur a la boite de dialogue qui s'ouvre en sauvegarde locale, il peut faire ce qu'il veut, cliquer sur les nombreux boutons pour changer le disque ou le dossier de destination, renommer le fichier avant sauvegarde, etc...
    Tu n'a pas à gérer cela par programme, dès que tu a envoyé la boite de sauvegarde l'utilisateur fait ce qu'il vaut après !!

    J'ai un autre bout de code pour toi, je l'utilise dans mes applications sans soucis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            using System.Net;
     
            string myPdf = Server.MapPath("~/SomePDFFile.pdf");
            WebClient client = new WebClient();
            Byte[] buffer = client.DownloadData(myPdf);
            Response.ContentType = "application/pdf";
            Response.AddHeader("content-length", buffer.Length.ToString());
            Response.BinaryWrite(buffer);
    Essaye de l'adapter à ta sauce et tiens nous au courant!
    nachtigal!!

Discussions similaires

  1. Composants graphique pour créer un echiquier
    Par Stouille89 dans le forum 2D
    Réponses: 3
    Dernier message: 10/12/2008, 23h29
  2. Composant graphique pour arbre binaire
    Par danisam dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/08/2008, 11h58
  3. Réponses: 3
    Dernier message: 15/05/2008, 15h22
  4. Composant graphique pour dessiner courbes
    Par stephane.julien dans le forum C#
    Réponses: 11
    Dernier message: 02/11/2007, 16h26
  5. Composants graphiques pour netbeans5.0
    Par kam81 dans le forum NetBeans
    Réponses: 3
    Dernier message: 03/01/2007, 14h36

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