2011-08-01 75 views
0

我正在使用fileuploader來上傳圖片。然而,evertyime我選擇文件,然後單擊上傳按鈕,它表示fileuploader.file返回值爲false,不會運行下一行代碼。我所能找到的是,它必須以單獨的形式存在,並且該方法必須是「後」,但這並不能解決問題。asp.net C#Fileupload總是返回false

這裏是我的代碼隱藏。

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; 
      } 
     } 

這裏是我的前端代碼。

    <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

不應WebForm中進行的Runat = 「服務器」?爲什麼在那裏採取行動,不應該回到同一頁面? –

+0

不應該有一個'runat =「server」'屬性?這是一個asp.net mvc項目嗎? – deostroll

+0

它是頁面上的第二個表單,我將得到一個錯誤,指出在同一頁面上沒有兩個runat服務器標籤。另外一個建議是在我發現的論壇上使用這個動作。 – Lucas

回答

0

如果您正在測試0字節大小的文件,它將返回false。確保文件實際上不是空的。

0

表單應具有runat="server"而不是method="post"action="..."