C# System.IO.Path.GetExtension在ASP.NET中返回null
我的页面中有一个文件上载,因此用户可以浏览计算机并选择文件。选择文件后,当我想使用以下代码获取文件名时:C# System.IO.Path.GetExtension在ASP.NET中返回null,c#,asp.net,nullreferenceexception,C#,Asp.net,Nullreferenceexception,我的页面中有一个文件上载,因此用户可以浏览计算机并选择文件。选择文件后,当我想使用以下代码获取文件名时: string ext = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName); 它返回null,我得到了以下错误: Object reference not set to an instance of an object. <asp:UpdatePanel runat="server" ID="UpdatePan
string ext = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);
它返回null,我得到了以下错误:
Object reference not set to an instance of an object.
<asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Always">
<ContentTemplate>
<div class="wrapper-box">
<div class="topbox">
عکس خبر
</div>
<asp:FileUpload ID="FileUpload1" runat="server" CssClass="text-input-two" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
在调试之后,我发现我的文件是空的,它没有发送。为什么?添加了一点代码后,我出现了以下错误:
Object reference not set to an instance of an object.
<asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Always">
<ContentTemplate>
<div class="wrapper-box">
<div class="topbox">
عکس خبر
</div>
<asp:FileUpload ID="FileUpload1" runat="server" CssClass="text-input-two" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
عکس خبر
根据MSDN,如果传入的文件名为null,则GetExtension将仅返回null
指定路径的扩展名(包括句点“”),或
Nothing[Null]或String.Empty。如果路径为Nothing[Null],则GetExtension
不返回任何内容[Null]。如果路径没有扩展信息,
GetExtension返回String.Empty
因此,在继续下一步之前,请先检查(file!=null&&file.FileName!=null) Get extension方法返回文件的扩展名。 检查下面的代码示例
string s = System.IO.Path.GetExtension("file1.aspx");
你可以用
FileUpload1.fileName而不是FileUpload1.postedfile.fileName
希望有帮助尝试在和之间添加此回发触发器
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
并将enctype=“多部分/表单数据”添加到表单中
<form id="form1" runat="server" enctype="multipart/form-data">
使用
而不是
string ext = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);
检查FileUpload1.PostedFile是否为null。它如何返回null并引发异常?请更具体一点:哪行代码引发异常?System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);此行抛出一个异常大多数
NullReferenceException
的情况都是相同的。请参阅“”以获取一些提示。请尝试检查FileUpload1.PostedFile是否为null,有时asp:FileUpload组件无法与更新面板一起使用