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#][ASP.net 2.0]Problème envois de fichiers dans un dossier.


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    Points : 62
    Points
    62
    Par défaut [c#][ASP.net 2.0]Problème envois de fichiers dans un dossier.
    Bonjour,

    Je voudrais uploader des fichiers depuis une page asp.net. Après quelque recherche, j'ai trouvé ceci :

    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
     if (FileUpload1.HasFile)
     
                 try
                 {
                     string strPath = "c:/tmp/"+DropDownList1.SelectedItem+"/";
     
                     DirectoryInfo di = new DirectoryInfo(strPath);
                     if (di.Exists)
                     {
                         FileUpload1.SaveAs(strPath);
                         Label1.Text = "File name: " +
                              FileUpload1.PostedFile.FileName + "<br>" +
                              FileUpload1.PostedFile.ContentLength + " kb<br>" +
                              "Content type: " +
                              FileUpload1.PostedFile.ContentType;
     
                         Label1.Text = "Fichier correctement enregistré sous <b>" + strPath + "</b>.";
                     }
                     else
                     {
                         DirectoryInfo repertoire = Directory.CreateDirectory(strPath);
                         FileUpload1.SaveAs(strPath);
                         Label1.Text = "Création du repertoire "+DropDownList1.SelectedItem+" et enregistrement sous <b>" + strPath + "</b>.";
                     }
     
                 }
     
     
                 catch (Exception ex)
                 {
                     Label1.Text = "ERROR: " + ex.Message.ToString();
                 }
             else
             {
                 Label1.Text = "You have not specified a file.";
             }
     
        }
    Le chemin est construit en fonction de certains paramètres, l'utilisateur choisie une catégorie (ex : internet) à partir d'une liste (c'est la drowdownlist1). Ce code ne fonctionne pas, j'ai toujours le message "impossible d'accéder au répertoire". La création du répertoire ne fonctionne pas et même quand il existe, un message d'erreur m'indique qu'il est inaccéssible. J'ai pourtant crée un repertoire accéssible en écriture.

    Voici le code de ma page aspx :

    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
     <table width="920px">
            <tr>
                <td style="width: 246px">
            <asp:FileUpload ID="FileUpload1" runat="server" /></td>
                <td colspan="2">
                </td>
            </tr>
            <tr>
                <td style="width: 250px" valign="top">
                    Type :<br />
                    <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="dstypefic" DataTextField="libel_type" DataValueField="idtype">
     
                    </asp:DropDownList><asp:SqlDataSource ID="dstypefic" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString31 %>"
                        SelectCommand="SELECT * FROM [typefic]"></asp:SqlDataSource>
                </td>
                <td style="width: 340px" valign="top">
                    Nom :
                    <br />
                    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td>
                <td valign="top">
                    Détails :<br />
                    <textarea id="TextArea1" style="width: 303px; height: 75px"></textarea></td>
            </tr>
            <tr>
                <td colspan="3">
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" 
             Text="Upload File" />
            <asp:Label ID="Label1" runat="server"></asp:Label></td>
            </tr>
        </table>


    Merci... d'avance.

  2. #2
    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
    C'est quoi ton OS ?
    Ton répertoire, il est accessible à quel utilisateur(s) ?

  3. #3
    Membre habitué Avatar de stephane.net
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 170
    Points : 158
    Points
    158
    Par défaut
    pour vérifier si ton code fonctionne remplace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string strPath = "c:/tmp/"+DropDownList1.SelectedItem+"/";
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string strPath = Request.PhysicalApplicationPath + FileUpLoad1.Filename;
    Stéphane
    "si tu n'as pas de réponse à ton pblm... c'est qu'il n'y a pas de pblm... "

  4. #4
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par stephane.net
    pour vérifier si ton code fonctionne remplace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string strPath = "c:/tmp/"+DropDownList1.SelectedItem+"/";
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string strPath = Request.PhysicalApplicationPath + FileUpLoad1.Filename;
    Stéphane

    Je reprends ce topic car j'avais abandonné ce projet.

    J'obtiens cette erreur :

    Le format du chemin d'accès donné n'est pas pris en charge.

  5. #5
    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
    Je reprend mes questions :
    * C'est quoi ton OS ?
    * Ton répertoire, il est accessible à quel utilisateur(s) ?

    Sinon, pour ton erreur, elle est dûe au fait que le chemin que tu créé n'est pas un chemin valide.
    Affiche le et tu verras bien.

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Developpeur
    Inscrit en
    Juillet 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    j'ai déjà eu le même problème. Pour ceux qui cherchent une solution a ce problème, essayez d'enlever le PostedFile devant FileName

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monUpload.PostedFile.FileName
    devient

    pour moi ça marche...

    Seb

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/01/2008, 13h18
  2. [ASP.NET AJAX] FilteredTextBox problème
    Par ronando dans le forum ASP.NET
    Réponses: 1
    Dernier message: 27/11/2007, 15h08
  3. [ASP.NET 2.0] Problème d'edition dans un datagrid
    Par florent-k dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/08/2007, 15h52
  4. Réponses: 6
    Dernier message: 22/06/2007, 15h34
  5. [ASP.Net C# 2]Problèmes de connexion avec Oracle
    Par Taichin dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/05/2007, 14h12

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