微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

FileUpload1.HasFile始终返回false

如何解决FileUpload1.HasFile始终返回false

|| 我正在使用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。     

解决方法

ASP.NET的\“ AJAX \\”内容不支持直接在UpdatePanels中上传文件。将触发条件更改为“ 2”(会导致整个页面加载),或使用其他方式上传文件。     ,为您的UpdatePanel添加触发器
<Triggers> 
   <asp:PostBackTrigger ControlID=\"btnUploadFile\" /> 
</Triggers> 
单击上载按钮时,这将强制回发。 还将下面的行添加到Page_Load
Page.Form.Attributes.Add(\"enctype\",\"multipart/form-data\"); 
    ,我知道这篇文章如果很旧,但是我发现如果文件为空[0 KB],那么它也会返回false。文件中必须有一些内容,以便.HasFile进行确认。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。