【问题标题】:FileUpload1.HasFile is always returning falseFileUpload1.HasFile 总是返回 false
【发布时间】:2011-05-01 13:06:08
【问题描述】:

我正在使用 ASP.net 文件上传控件上传文件。 我的 FileUpload1.HasFile 总是返回 false。

if (FileUpload1.HasFile)
        {
            DBOperations db = new DBOperations();

            try
            {
                FileUpload1.SaveAs(Server.MapPath("~/uploadedImages/" + db.uploadImage(System.IO.Path.GetExtension(FileUpload1.FileName)) + System.IO.Path.GetExtension(FileUpload1.FileName)));
            }
            catch (Exception Ex)
            {
                String he = Ex.Message;
            }
        }

我正在使用以下 ASP.net 代码

<asp:UpdatePanel ID="fileUpload" runat="server">
           <ContentTemplate>
             <Triggers>
                  <asp:AsyncPostBackTrigger ControlID="btnUploadFile" EventName="Click" />
             </Triggers>
               <asp:FileUpload ID="FileUpload1" runat="server" /> 
               <asp:Button ID="btnUploadFile" Text="Upload File" runat="server" 
                   onclick="btnUploadFile_Click" />
                   <br />
             <asp:RegularExpressionValidator ID="revImage" ControlToValidate="FileUpload1" ValidationExpression="^.*\.((j|J)(p|P)(e|E)?(g|G)|(g|G)(i|I)(f|F)|(p|P)(n|N)(g|G))$" Text="Invalid image type" runat="server" />

          </ContentTemplate>
       </asp:UpdatePanel>

我什至尝试删除 AsyncPostBackTrigger 甚至删除 Whole asp:updatePanel 然后我的 FileUpload1.HasFile 总是返回 false。

【问题讨论】:

  • 当您删除UpdatePanel时,您如何提交表单?

标签: c# asp.net


【解决方案1】:

ASP.NET 的“AJAX”不支持在 UpdatePanel 中开箱即用的文件上传。将该触发器更改为 PostBackTrigger(这会导致整个页面加载)或使用其他东西来上传文件。

【讨论】:

【解决方案2】:

为您的 UpdatePanel 添加触发器

<Triggers> 
   <asp:PostBackTrigger ControlID="btnUploadFile" /> 
</Triggers> 

这将在点击上传按钮时强制回发。

还将下面的行添加到 Page_Load

Page.Form.Attributes.Add("enctype", "multipart/form-data"); 

【讨论】:

    【解决方案3】:

    我知道这篇文章是否旧,但我发现如果文件为空 [0 KB],那么它也会返回 false。文件中必须有某些内容才能让 .HasFile 确认。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-20
      • 2021-11-05
      相关资源
      最近更新 更多