文件上传未读取正在上传的文件

时间:2018-07-16 09:41:13

标签: c# asp.net visual-studio-2012 webforms

我正在尝试使用文件上传来上传Excel文件,但是每当我执行“ If(FileUpload.HasFile)”时,即使我已经选择了文件,它也总是返回false。单击上传按钮时,下面是我的代码。

(编辑:当我上传文件时,if语句最终变为true另一个问题是此错误消息显示“ SaveAs方法配置为需要根目录路径,而路径'〜/ Datas / Book1.xlsx'不是根。” )

  

Blockquote

slot
  

我有一个包含按钮的表格,这是文件上传和上传按钮所在的位置

readyRead

2 个答案:

答案 0 :(得分:0)

由于某些安全原因,FileUpload控件在回发期间将不会保留该值。

一种方法是为“上传”按钮设置触发器

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>

 <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
      <ContentTemplate>
      <asp:FileUpload ID="fileUpload" runat="server"></asp:FileUpload>
      <asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" />
      </ContentTemplate>
      <Triggers>
          <asp:PostBackTrigger ControlID="btnUpload"  />
      </Triggers>
 </asp:UpdatePanel>

 protected void btnUpload_Click(object sender, EventArgs e)
     {
        if (fileUpload1.HasFile)
        {                
            fileUpload1.SaveAs("C:\\" + fileupload1.FileName);
        }
     }

答案 1 :(得分:0)

我从头到尾都尝试过,并且能够获取文件。

<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="btnok" runat="server" Text="Ok"  OnClick="btnok_Click"/>

下面是单击按钮的事件。我可以知道您在哪个地方遇到问题。

 protected void btnok_Click(object sender, EventArgs e)
   {
     if(FileUpload1.HasFile)
      {
        var val=FileUpload1.PostedFile;
      }
   }