2011-08-01 4 views
0

Je travaille avec un fileuploader pour télécharger une image. Cependant, evertyime je sélectionne le fichier et clique sur le bouton de téléchargement il dit que le fileuploader.file renvoie une valeur de false et ne lance pas les lignes de code suivantes. Tout ce que je peux trouver, c'est qu'il doit être dans une forme séparée et que la méthode doit être "post", mais cela n'a pas résolu le problème.asp.net C# Fileupload retourne toujours faux

voici mon codebehind.

if (FileUploadControl.HasFile) 
     { 
      try 
      { 
       string filename = Path.GetFileName(FileUploadControl.FileName); 
       FileUploadControl.SaveAs(Server.MapPath("~/") + filename); 
       StatusLabel.Text = "Upload status: File uploaded!"; 
      } 
      catch (Exception ex) 
      { 
       StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message; 
      } 
     } 

Voici mon code frontal.

    <form id="form2" action="CompProfile.aspx" method="post" enctype="multipart/form-data"> 
        <asp:FileUpload id="FileUploadControl" runat="server" /> 
        <asp:Button runat="server" id="UploadButton" text="Upload" onclick="UploadButton_Click" /> 
        <asp:Label runat="server" id="StatusLabel" text="Upload status: " /> 
        </form> 
+1

ne devrait pas être votre formulaire en ligne runat = "server"? Et pourquoi l'action est là, ne devrait-elle pas revenir à la même page? –

+0

Le formulaire ne devrait-il pas avoir un attribut 'runat =" server "'? Est-ce un projet mvc asp.net? – deostroll

+0

Il est le 2ème formulaire sur la page et j'obtiendrai une erreur indiquant que je peux avoir deux étiquettes de serveur runat sur la même page. Aussi, une suggestion était d'utiliser l'action sur un forum que j'ai trouvé. – Lucas

Répondre

0

Si vous testez avec un fichier de taille 0 octet, il retournera faux. Assurez-vous que le fichier n'est pas vide.

0

Votre formulaire doit avoir runat="server" au lieu de method="post" et action="..."

Questions connexes