文件上传错误

问题描述:

这是我的文件上传控制页面的部分代码。这是我正在使用的那个。上传文件时,文件名,张贴文件,一切都是空的。我也尝试了ajax文件上传。它显示错误“未将对象引用设置为实例”。 Wat是我的编码问题?文件上传错误

<table> 
    <tr> 
     <td align="center"> 
      <span class="txt"> 
       <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
        <ContentTemplate> 
         <asp:FileUpload ID="fpResumenew" runat="server" Visible="false" Width="226px" /> 
        </ContentTemplate>      
       </asp:UpdatePanel> 
      </span> 
     </td> 
    </tr> 
    <tr> 
     <td align="center"> 
      &nbsp; 
     </td> 
    </tr> 
    <tr> 
     <td style="vertical-align: top" align="center"> 
      <asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
       <ContentTemplate> 
        <asp:Button ID="btnUpload" Font-Bold="true" 
        DisabledText="Processing..." Visible="false" 
        Text="Upload" BackColor="Maroon" ForeColor="White" runat="server" OnClick="btnUpload_Click" /> 
       </ContentTemplate> 
       <Triggers> 
         <asp:PostBackTrigger ControlID="btnUpload" /> 
        </Triggers> 
      </asp:UpdatePanel> 
     </td> 
    </tr> 
</table> 

保护无效btnUpload_Click(对象发件人,EventArgs的)

{ 

    string strname = fpResumenew.FileName.ToString(); 

    if (fpResumenew.PostedFile.FileName.Trim().Length != 0) 

    { 


       byte[] binary = new byte[fpResumenew.PostedFile.ContentLength]; 
       binary = fpResumenew.FileBytes; 
       string doc = fpResumenew.FileName; 
       string contenttype = fpResumenew.PostedFile.ContentType; 
       objservice1.UpdateResume(int.Parse(Session["LoginId"].ToString()), doc, binary, contenttype); 
       Response.Redirect("delresume.aspx?Action=U"); 


    } 
    else 
    { 
     lblmsg.Text = "File is not Found"; 
     lblmsg.Visible = true; 

    } 


} 
+0

即使我上传了一个文件,fpResumenew.FileName也是空的。 – Nila 2009-12-21 05:28:08

没有什么工作对我来说..问题是,我使用的是在同一页面三个按钮。其他按钮初始化文件上传控件。所以,当点击上传按钮时,文件名是空的。所以,我用另一个页面上传Word文档。现在,它正在工作..!

尝试添加

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

声明你的第一个更新面板,而不是第二个。触发器需要位于包含FileUpload控件的面板中,而不是包含该按钮的面板。 PostBackTrigger强制文件上传定期回传,这就是它需要满足浏览器安全要求的要求。

+0

S ..我试着按你说的。相同探头.. – Nila 2009-12-21 05:55:36

+0

嗨! 我发现这个代码的问题。实际上,我在同一个网页中使用了另一个按钮,因此,该按钮的文件上传控件也正在刷新。现在,笏是解决这个? – Nila 2009-12-21 06:11:42

据我所知,FileUpload控件可以防止在不使用自己的“浏览...”按钮的情况下上传文件。这可以防止通过自动上传文件来滥用客户端文件系统。

唯一的解决方案是在控件上使用一个图层,显示更好的视图,但保留使用浏览按钮或手动输入路径的可能性。

你可以找到关于如何风格在这里的文件上传扩展的解决方案:Link