文件上传错误
这是我的文件上传控制页面的部分代码。 这是我正在使用的那个。 上传文件时,文件名,张贴文件,一切都是空的。我也尝试了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">
</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 e)
{
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;
}
}
尝试添加
<Triggers>
<asp:PostBackTrigger ControlID="btnUpload" />
</Triggers>
声明到您的第一个更新面板,而不是第二个。 触发器需要位于包含FileUpload控件的面板中,而不是包含该按钮的面板。 PostBackTrigger强制文件上传定期回传,这就是它需要满足浏览器安全要求的要求。
据我所知,FileUpload控件可以防止在不使用自己的“浏览...”按钮的情况下上传文件。 这可以防止通过自动上传文件来滥用客户端文件系统。
唯一的解决方案是在控件上使用一个图层,以显示更好的视图,但保留使用浏览按钮或手动输入路径的可能性。
你可以在这里找到一个关于如何设计FileUpload的扩展解决方案:链接
没有为我工作..问题是,我在同一页面使用三个按钮。 其他按钮初始化文件上传控件。 所以,当点击上传按钮时,文件名是空的。 所以,我用另一个页面上传Word文档。 现在,它正在工作..!
链接地址: http://www.djcxy.com/p/46777.html上一篇: File Upload Error