Upload d'un fichier utilisant C# et ASP.NET ?

Messages postés
27
Date d'inscription
jeudi 8 janvier 2009
Dernière intervention
1 septembre 2009
- 12 févr. 2009 à 01:04 - Dernière réponse :  sgtHerbert
- 4 janv. 2016 à 11:44
Bonjours a tous ,
j'ai vu dans le forum q'il ya de source pour cela mais avec VB.net et ASP.net ,

quel est le code C# et ASP .net   pour uploader un fichier ?
  et si quelqu 'un peut me donner le tuto ou le lien pour ça
j'ai besoin votre aide et Merci pour votre réponse
Afficher la suite 

Votre réponse

6 réponses

Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
21 juillet 2010
- 13 févr. 2009 à 00:23
0
Merci
Bonsoir,

Avec un fileupload ?
Dans ce cas, tu peux faire (le code est minimal, avec juste un label pour indiquer qu'un fichier a été sélectionné dans le fileupload)  :

protected void Button1_Click(object sender, EventArgs e)
    {
        String path = Server.MapPath("fichiers/Anaxagoras/");
        if (FileUpload1.FileName == "")
        {
            Labelc1.Text = "Pas de fichier sélectionné";
        }
        else
        {
            FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);
            Labelc1.Text = "Le fichier a été chargé.";
        }      
          
    }

GGtry
Commenter la réponse de ggtry
Messages postés
27
Date d'inscription
jeudi 8 janvier 2009
Dernière intervention
1 septembre 2009
- 14 févr. 2009 à 00:20
0
Merci
Merci bien ggtry , je v essayer avec ce code
Merci
Commenter la réponse de prodotnet
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
- 15 févr. 2009 à 15:19
0
Merci
ggtry, au niveau secu ton code n'est pas bon du tout !!! qu'est-ce qui se passe si j'upload un fichier .aspx ? Ton code donne tout simplement accés à ton serveur !

J'ai donné quelques conseils pour la configuration de l'upload ici : http://blogs.developpeur.org/cyril/archive/2008/10/14/iis7-configuration-des-handlers-pour-l-upload-de-fichier-interdire-certains-fichiers-de-s-ex-cuter-acc-der-des-fichiers-cs-aspx.aspx

<hr />Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant
Commenter la réponse de jesusonline
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
21 juillet 2010
- 16 févr. 2009 à 01:51
0
Merci
Bonsoir,

Oui, tu as parfaitement raison : c'est (entre autres) pour cela que j'ai dit que c'était un code "minimal".
L'utiliser directement et sans plus ne peut donc être conseillé. Il faut au moins faire un test sur l'extensionfile.
(Et en passant, mon test sur "" sur le filename est idiot : il vaut mieux utiliser .hasfile).
Alors, un truc moins dangereux :

 if (FileUpload1.HasFile)
        {
            string ext1 = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
            string[] ext2 = new string[] { ".dox", ".docx", ".rtf", ".odt" };
            for(int i=0;i<ext2.Length-1;i++)
            {
                if (ext1==ext2[i])
                {
                    t=true;
                }
            }
        }
        else
        {
            Labelc1.Text = "Pas de fichier";
        }


        if (t)
        {
            FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);
            Labelc1.Text = "Le fichier a été chargé.";
        }
        else
        {
            Labelc1.Text = "Les extensions doivent être de type .doc, .docx, .rtf ou .odt";  
        }

   

GGtry
Je pense qu'il est possible de simplifier ce code en utilisant contain de la classe Array au lieu de parcourir le tableau des extensions. Mais merci pour ce morceau de code qui m'a bien fait avancé ^^
Commenter la réponse de ggtry
0
Merci
moi je veut avec vb.net
Commenter la réponse de ilhamitak

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.